Repository: NREL/bifacial_radiance (language: python)

Issue:
 radiance
how bifacial_radiance interact with radiance? 
405 multiple analysis objs
Fixes #405.

- [ ] Pytests
- [ ] Docstrings
- [ ] Tutorials updated
- [x] whatsnew

This updates the trackerdict by having multiple AnalysisObjects in it rather than just one.  However, there are some semi-major changes required.
1. All results .csv files being created in the /Results/ folder now have a _RowX_ModuleY_ in the filename by default.  That way you can track down what module and row the given result is coming from.  This was already being done with analyzeRow, but now it's done with every file generated with moduleAnalysis.
2. It's not just the AnalysisObj that is changing if you have multiple modules, your Wm2Front and Wm2Back and backRatio is changing too.  So all of those things are now shifted to a 'Results' array of dictionaries.  It's kind of klunky - instead of trackerdict[index]['AnalysisObj'] it's in  trackerdict[index]['Results'][XXX]['AnalysisObj']  (where XXX is the number of the row/module list, 0 by default)
3. Both the modWanted and rowWanted value is being saved in 'Results' as well as in the AnalysisObj
4. If you pass an array for both modWanted and rowWanted, it runs simulation for all permutations, for a total of N x M simulations.
5. Cumulative values stored in demo.Wm2Front is only for the LAST module/row pair.
405 multiple analysis objs
Fixes #405.

- [ ] Pytests
- [ ] Docstrings
- [ ] Tutorials updated
- [x] whatsnew

This updates the trackerdict by having multiple AnalysisObjects in it rather than just one.  However, there are some semi-major changes required.
1. All results .csv files being created in the /Results/ folder now have a _RowX_ModuleY_ in the filename by default.  That way you can track down what module and row the given result is coming from.  This was already being done with analyzeRow, but now it's done with every file generated with moduleAnalysis.
2. It's not just the AnalysisObj that is changing if you have multiple modules, your Wm2Front and Wm2Back and backRatio is changing too.  So all of those things are now shifted to a 'Results' array of dictionaries.  It's kind of klunky - instead of trackerdict[index]['AnalysisObj'] it's in  trackerdict[index]['Results'][XXX]['AnalysisObj']  (where XXX is the number of the row/module list, 0 by default)
3. Both the modWanted and rowWanted value is being saved in 'Results' as well as in the AnalysisObj
4. If you pass an array for both modWanted and rowWanted, it runs simulation for all permutations, for a total of N x M simulations.
5. Cumulative values stored in demo.Wm2Front is only for the LAST module/row pair.


Discussion / hints:
Hi Ishratsk,

I've contacted you by email with some additional details here.  Thanks for your interest in this project!



Fix patch:
diff --git a/bifacial_radiance/load.py b/bifacial_radiance/load.py
index ff532d1d..fe189ce1 100644
--- a/bifacial_radiance/load.py
+++ b/bifacial_radiance/load.py
@@ -290,7 +290,7 @@ def loadTrackerDict(trackerdict, fileprefix=None):
     #end loadTrackerDict subroutine.  set demo.Wm2Front = totaldict.Wm2Front. demo.Wm2Back = totaldict.Wm2Back
 
 
-def _exportTrackerDict(trackerdict, savefile, reindex):
+def _exportTrackerDict(trackerdict, savefile, reindex=False, monthlyyearly=False):
     """
     Save a TrackerDict output as a ``.csv`` file.
     
@@ -303,7 +303,8 @@ def _exportTrackerDict(trackerdict, savefile, reindex):
         reindex : bool
             Boolean indicating if trackerdict should be resampled to include
             all 8760 hours in the year (even those when the sun is not up and 
-            irradiance results is empty).
+            irradiance results is empty). NOTE: this is incompatible with multiple
+            row / modules per trackerdict entry.
     
     """
     from pandas import DataFrame as df
@@ -316,20 +317,72 @@ def _exportTrackerDict(trackerdict, savefile, reindex):
                    'wind_speed', 'theta','surf_tilt','surf_azm',
                    'clearance_height', 
                    # Not including the whole distribution because these are not clean..
-                   'Wm2Back','Wm2Front',
                    'POA_eff', 'Gfront_mean',
                    'Grear_mean', 
-                   'Pout_module', 'Mismatch', 'Pout_module_reduced', ])
-
+                   'Pout_raw', 'Mismatch', 'Pout', 'Pout_Gfront'])   
     d['measdatetime'] = d.index
 
+     
+    # add trackerdict Results (not all simulations will have results)
+    try:
+        results = pd.concat([df(data=value['Results'],index=[key]*len(value['Results'])) for (key,value) in trackerdict.items()])
+        results = results[['rowWanted','modWanted','Wm2Front','Wm2Back']]
+        d = results.join(d)
+    except KeyError:
+        pass
+    
+
     if reindex is True: # change to proper timestamp and interpolate to get 8760 output
         d['measdatetime'] = d.index
         d=d.set_index(pd.to_datetime(d['measdatetime'], format='%Y-%m-%d_%H%M'))
-        d=d.resample('H').asfreq()
-  
+        try:
+            d=d.resample('H').asfreq()
+        except ValueError:
+            print('Warning: Unable to reindex - possibly duplicate entries in trackerdict')
+
+    # Add tabs:
     d.to_csv(savefile)    
 
+    if monthlyyearly:
+
+        D3join = pd.DataFrame()
+        D4join = pd.DataFrame()
+        for rownum in d['rowWanted'].unique():
+           for modnum in d['modWanted'].unique():
+                mask = (d['rowWanted']==rownum) & (d['modWanted']==modnum)
+                print(modnum)
+    #           Gfront_mean.append(filledFront[mask].sum(axis=0).mean())
+                D2 = d[mask].copy()
+                D2['timestamp'] = pd.to_datetime(D2['measdatetime'], format="%Y-%m-%d_%H%M")
+                D2 = D2.set_index('timestamp')
+             #   D2 = D2.set_index(D2['timestamp'])
+                D3 = D2.groupby(pd.PeriodIndex(D2.index, freq="M")).sum().reset_index()
+                D3['BGG'] = D3['Grear_mean']/D3['Gfront_mean']
+                D3['BGE'] = (D3['Pout']-D3['Pout_Gfront'])*100/D3['Pout']
+                D3['Mismatch'] = (D3['Pout_raw']-D3['Pout'])*100/D3['Pout_raw']
+                D3['rowWanted'] = rownum
+                D3['modWanted'] = modnum
+
+                D4 = D2.groupby(pd.PeriodIndex(D2.index, freq="Y")).sum().reset_index()
+                D4['BGG'] = D4['Grear_mean']/D4['Gfront_mean']
+                D4['BGE'] = (D4['Pout']-D4['Pout_Gfront'])*100/D4['Pout']
+                D4['Mismatch'] = (D4['Pout_raw']-D4['Pout'])*100/D4['Pout_raw']
+                D3['rowWanted'] = rownum
+                D3['modWanted'] = modnum
+                
+                D3=D3.reset_index()                
+                D4=D4.reset_index()
+                D3join = pd.concat([D3join, D3], ignore_index=True, sort=False)
+                D4join = pd.concat([D4join, D4], ignore_index=True, sort=False)
+                
+                
+        savefile3 = savefile[:-4]+'_Monthly.csv'
+        savefile4 = savefile[:-4]+'_Yearly.csv'    
+        
+        D3join.to_csv(savefile3)
+        D4join.to_csv(savefile4)
+
+    return
     
 def deepcleanResult(resultsDict, sensorsy, numpanels, automatic=True):
     """    
@@ -738,12 +791,12 @@ def boolConvert(d):
             print("Load Warning: improper or no analysisParamsDict['sensorsy']"
                   " passed, setting to default value: %s" % analysisParamsDict['sensorsy'] )    
         try: 
-            analysisParamsDict['modWanted']=int(analysisParamsDict['modWanted']) 
+            analysisParamsDict['modWanted']=ast.literal_eval(analysisParamsDict['modWanted']) 
         except:
             analysisParamsDict['modWanted'] = None #Default
             print("analysisParamsDict['modWanted'] set to middle module by default" )    
         try: 
-            analysisParamsDict['rowWanted']=int(analysisParamsDict['rowWanted']) 
+            analysisParamsDict['rowWanted']=ast.literal_eval(analysisParamsDict['rowWanted']) 
         except:
             analysisParamsDict['rowWanted'] = None #Default
             print("analysisParamsDict['rowWanted'] set to middle row by default" )    
@@ -764,6 +817,46 @@ def boolConvert(d):
                   "MAke sure to include alpha_sc, a_ref, I_L_ref, I_o_ref, ",
                   "R_sh_ref, R_s, and Adjust."
                   "Performance calculations, if performed, will use default module")
+
+    # Add omegas, frames, piles here
+    if config.has_section("omegaParamsDict"):
+        omegaParamsDict = confdict['omegaParamsDict']
+        try: # validating the whole dictionary as a whole. #TODO: validate individually maybe.            
+            omegaParamsDict['x_omega1'] = round(float(omegaParamsDict['x_omega1']),3)
+            omegaParamsDict['mod_overlap'] = round(float(omegaParamsDict['mod_overlap']),3)
+            omegaParamsDict['y_omega'] = round(float(omegaParamsDict['y_omega']),3)
+            omegaParamsDict['omega_thickness'] = round(float(omegaParamsDict['omega_thickness']),3)
+            omegaParamsDict['x_omega3'] = round(float(omegaParamsDict['x_omega3']),3)
+            omegaParamsDict['inverted'] = ast.literal_eval(omegaParamsDict['inverted'])
+        except: 
+            print("Load Warning: Omega Parameters passed, ",\
+                  "but some parameters are missing/not numbers.")
+
+    # Add Frames, frames, piles here
+    if config.has_section("frameParamsDict"):
+        frameParamsDict = confdict['frameParamsDict']
+        try: # validating the whole dictionary as a whole. #TODO: validate individually maybe.            
+            frameParamsDict['frame_width'] = round(float(frameParamsDict['frame_width']),3)
+            frameParamsDict['frame_thickness'] = round(float(frameParamsDict['frame_thickness']),3)
+            frameParamsDict['frame_z'] = round(float(frameParamsDict['frame_z']),3)
+            frameParamsDict['frame_width'] = round(float(frameParamsDict['frame_width']),3)
+            frameParamsDict['nSides_frame'] = int(frameParamsDict['nSides_frame'])
+        except: 
+            print("Load Warning: Fame Parameters passed, ",\
+                  "but some parameters are missing/not numbers.")
+
+    # Piles here
+    if config.has_section("pilesParamsDict"):
+        pilesParamsDict = confdict['pilesParamsDict']       
+        try: # validating the whole dictionary as a whole. #TODO: validate individually maybe.            
+            pilesParamsDict['spacingPiles'] = round(float(pilesParamsDict['spacingPiles']),3)
+            pilesParamsDict['pile_lenx'] = round(float(pilesParamsDict['pile_lenx']),3)
+            pilesParamsDict['pile_leny'] = round(float(pilesParamsDict['pile_leny']),3)
+            pilesParamsDict['pile_height'] = round(float(pilesParamsDict['pile_height']),3)
+        except: 
+            print("Load Warning: Pile Parameters passed, ",\
+                  "but some parameters are missing/not numbers.")
+
     
     # Creating None dictionaries for those empty ones
     try: timeControlParamsDict
@@ -786,13 +879,31 @@ def boolConvert(d):
 
     try: CECModParamsDict
     except: CECModParamsDict = None
+
+    try: frameParamsDict
+    except: frameParamsDict = None
     
+    try: pilesParamsDict
+    except: pilesParamsDict = None
+    
+    try: omegaParamsDict
+    except: omegaParamsDict = None
+        
     #returnParams = Params(simulationParamsDict, sceneParamsDict, timeControlParamsDict, moduleParamsDict, trackingParamsDict, torquetubeParamsDict, analysisParamsDict, cellLevelModuleParamsDict, CECModParamsDict)
     #return returnParams
-    return simulationParamsDict, sceneParamsDict, timeControlParamsDict, moduleParamsDict, trackingParamsDict, torquetubeParamsDict, analysisParamsDict, cellLevelModuleParamsDict, CECModParamsDict
+    return (simulationParamsDict, sceneParamsDict, timeControlParamsDict, 
+            moduleParamsDict, trackingParamsDict, torquetubeParamsDict, 
+           analysisParamsDict, cellLevelModuleParamsDict, CECModParamsDict,
+           frameParamsDict, omegaParamsDict, pilesParamsDict)
 
 
-def savedictionariestoConfigurationIniFile(simulationParamsDict, sceneParamsDict, timeControlParamsDict=None, moduleParamsDict=None, trackingParamsDict=None, torquetubeParamsDict=None, analysisParamsDict=None, cellLevelModuleParamsDict=None, CECModParamsDict=None, inifilename=None):
+def savedictionariestoConfigurationIniFile(simulationParamsDict, sceneParamsDict, 
+                                           timeControlParamsDict=None, moduleParamsDict=None, 
+                                           trackingParamsDict=None, torquetubeParamsDict=None, 
+                                           analysisParamsDict=None, cellLevelModuleParamsDict=None, 
+                                           CECModParamsDict=None, frameParamsDict=None, 
+                                           omegaParamsDict=None, pilesParamsDict=None,
+                                           inifilename=None):
     """
     Saves dictionaries from working memory into a Configuration File
     with extension format .ini.
@@ -848,6 +959,15 @@ def savedictionariestoConfigurationIniFile(simulationParamsDict, sceneParamsDict
     try: config['CECModParamsDict'] = CECModParamsDict
     except: pass
 
+    try: config['frameParamsDict'] = frameParamsDict
+    except: pass
+
+    try: config['omegaParamsDict'] = omegaParamsDict
+    except: pass
+
+    try: config['pilesParamsDict'] = pilesParamsDict
+    except: pass
+
     if inifilename is None:
         inifilename = 'example.ini'
     
diff --git a/bifacial_radiance/main.py b/bifacial_radiance/main.py
index 3869aaf0..669c2a85 100644
--- a/bifacial_radiance/main.py
+++ b/bifacial_radiance/main.py
@@ -60,14 +60,10 @@
 import pandas as pd
 import numpy as np 
 import warnings
-#from input import *
 
-# Mutual parameters across all processes
-#daydate=sys.argv[1]
 
 
 global DATA_PATH # path to data files including module.json.  Global context
-#DATA_PATH = os.path.abspath(pkg_resources.resource_filename('bifacial_radiance', 'data/') )
 DATA_PATH = os.path.abspath(os.path.join(os.path.dirname(__file__), 'data'))
 
 def _findme(lst, a): #find string match in a list. script from stackexchange
@@ -99,10 +95,7 @@ def _popen(cmd, data_in, data_out=PIPE):
 
     p = Popen(cmd, bufsize=-1, stdin=PIPE, stdout=data_out, stderr=PIPE, shell=shell) #shell=True required for Linux? quick fix, but may be security concern
     data, err = p.communicate(data_in)
-    #if err:
-    #    return 'message: '+err.strip()
-    #if data:
-    #    return data. in Python3 this is returned as `bytes` and needs to be decoded
+
     if err:
         if data:
             returntuple = (data.decode('latin1'), 'message: '+err.decode('latin1').strip())
@@ -355,6 +348,7 @@ def __init__(self, name=None, path=None, hpc=False):
         self.nMods = None        # number of modules per row
         self.nRows = None        # number of rows per scene
         self.hpc = hpc           # HPC simulation is being run. Some read/write functions are modified
+        self.CompiledResults = None
         
         now = datetime.datetime.now()
         self.nowstr = str(now.date())+'_'+str(now.hour)+str(now.minute)+str(now.second)
@@ -416,7 +410,9 @@ def _checkPath(path):  # create the file structure if it doesn't exist
             with open(os.path.join('views', 'front.vp'), 'w') as f:
                 f.write('rvu -vtv -vp 0 -3 5 -vd 0 0.894427 -0.894427 '+
                         '-vu 0 0 1 -vh 45 -vv 45 -vo 0 -va 0 -vs 0 -vl 0')
-
+            with open(os.path.join('views', 'module.vp'), 'w') as f:
+                f.write('rvu -vtv -vp -3 -3 0.3 -vd 0.8139 0.5810 0.0 '+
+                        '-vu 0 0 1 -vh 45 -vv 45 -vo 0 -va 0 -vs 0 -vl 0')
     def getfilelist(self):
         """ 
         Return concat of matfiles, radfiles and skyfiles
@@ -567,13 +563,8 @@ def exportTrackerDict(self, trackerdict=None,
         if savefile is None:
             savefile = _interactive_load(title='Select a .csv file to save to')
 
-        if reindex is None:
-            if self.cumulativesky is True:
-                # don't re-index for cumulativesky,
-                # which has angles for index
-                reindex = False
-            else:
-                reindex = True
+        if reindex is not None:
+            reindex = False
 
         if self.cumulativesky is True and reindex is True:
             # don't re-index for cumulativesky,
@@ -583,9 +574,13 @@ def exportTrackerDict(self, trackerdict=None,
                    "False and proceeding")
             reindex = False
 
+        monthlyyearly = True
+        if self.cumulativesky is True:
+            monthlyyearly = False
+            
         bifacial_radiance.load._exportTrackerDict(trackerdict,
                                                  savefile,
-                                                 reindex)
+                                                 reindex, monthlyyearly=monthlyyearly)
 
 
     def loadtrackerdict(self, trackerdict=None, fileprefix=None):
@@ -2070,25 +2065,45 @@ def printModules(self):
         print('Available module names: {}'.format([str(x) for x in modulenames]))
         return modulenames
     
-    def addPiles(self, spacingPost=6, postx=0.2, posty=0.2, postheight=None):
+    def addPiles(self, spacingPiles=6, pile_lenx=0.2, pile_leny=0.2, pile_height=None):
+        '''
+        Function to add support piles at determined intervals throughout the rows.
+        
+        Parameters
+        ----------
+        spacingPiles : float
+            Distance between support piles.
+        pile_lenx : float
+            Dimension of the pile on the row-x direction, in meters. Default is 0.2
+        pile_leny: float
+            Dimension of the pile on the row-y direction, in meters. Defualt is 0.2
+        pile_height : float
+            Dimension of the pile on the z-direction, from the ground up. If None,
+            value of hub_height is used. Default: None.
+            
+        Returns
+        -------
+        None
+        
+        '''
         
         nMods = self.nMods  
         nRows = self.nRows           
         module = self.module
 
-        if postheight is None:
-            postheight = self.scene.sceneDict['hub_height']
-            print("Postheight!", postheight)
+        if pile_height is None:
+            pile_height = self.scene.sceneDict['hub_height']
+            print("pile_height!", pile_height)
             
         rowlength = nMods * module.scenex
-        nPiles = np.floor(rowlength/spacingPost) + 1
+        nPiles = np.floor(rowlength/spacingPiles) + 1
         pitch = self.scene.sceneDict['pitch']
         azimuth=self.scene.sceneDict['azimuth']
         originx = self.scene.sceneDict['originx']
         originy = self.scene.sceneDict['originy']
     
-        text='! genbox black post {} {} {} '.format(postx, posty, postheight)
-        text+='| xform -t {} {} 0 '.format(postx/2.0, posty/2.0)
+        text='! genbox black post {} {} {} '.format(pile_lenx, pile_leny, pile_height)
+        text+='| xform -t {} {} 0 '.format(pile_lenx/2.0, pile_leny/2.0)
 
         if self.hpc:
             radfilePiles = os.path.join(os.getcwd(), 'objects', 'Piles.rad')
@@ -2101,7 +2116,7 @@ def addPiles(self, spacingPost=6, postx=0.2, posty=0.2, postheight=None):
                     
         
         # create nPiles -element array along x, nRows along y. 1cm module gap.
-        text = '!xform -rx 0 -a %s -t %s 0 0 -a %s -t 0 %s 0 ' %(nPiles, spacingPost, nRows, pitch)
+        text = '!xform -rx 0 -a %s -t %s 0 0 -a %s -t 0 %s 0 ' %(nPiles, spacingPiles, nRows, pitch)
 
         # azimuth rotation of the entire shebang. Select the row to scan here based on y-translation.
         # Modifying so center row is centered in the array. (i.e. 3 rows, row 2. 4 rows, row 2 too)
@@ -2111,7 +2126,7 @@ def addPiles(self, spacingPost=6, postx=0.2, posty=0.2, postheight=None):
                  f'{-pitch*(round(nRows / 1.999)*1.0-1)} 0 -rz {180-azimuth} '
                  f'-t {originx} {originy} 0 ' )
 
-        filename = (f'Piles_{spacingPost}_{postx}_{posty}_{postheight}.rad')
+        filename = (f'Piles_{spacingPiles}_{pile_lenx}_{pile_leny}_{pile_height}.rad')
 
         if self.hpc:
             text += f'"{os.path.join(os.getcwd(), radfilePiles)}"'
@@ -2480,9 +2495,9 @@ def analysis1axis(self, trackerdict=None, singleindex=None, accuracy='low',
             'low' or 'high', resolution option used during _irrPlot and rtrace
         customname : str
             Custom text string to be added to the file name for the results .CSV files
-        modWanted : int 
+        modWanted : int or list
             Module to be sampled. Index starts at 1.
-        rowWanted : int
+        rowWanted : int or list
             Row to be sampled. Index starts at 1. (row 1)
         sensorsy : int or list 
             Number of 'sensors' or scanning points along the collector width 
@@ -2531,7 +2546,7 @@ def analysis1axis(self, trackerdict=None, singleindex=None, accuracy='low',
             'backRatio'    : np Array with rear irradiance ratios
         """
         
-        import warnings
+        import warnings, itertools
 
         if customname is None:
             customname = ''
@@ -2553,134 +2568,70 @@ def analysis1axis(self, trackerdict=None, singleindex=None, accuracy='low',
             rowWanted = round(self.nRows / 1.99)
 
        
-        frontWm2 = 0 # container for tracking front irradiance across module chord. Dynamically size based on first analysis run
-        backWm2 = 0 # container for tracking rear irradiance across module chord.
+        #frontWm2 = 0 # container for tracking front irradiance across module chord. Dynamically size based on first analysis run
+        #backWm2 = 0 # container for tracking rear irradiance across module chord.
 
         for index in trackerkeys:   # either full list of trackerdict keys, or single index
             name = '1axis_%s%s'%(index,customname)
             octfile = trackerdict[index]['octfile']
             scene = trackerdict[index]['scene']
+            trackerdict[index]['Results'] = []
             if octfile is None:
                 continue  # don't run analysis if the octfile is none
-            try:  # look for missing data
-                analysis = AnalysisObj(octfile,name)
-                name = '1axis_%s%s'%(index,customname,)
-                frontscanind, backscanind = analysis.moduleAnalysis(scene=scene, modWanted=modWanted, 
-                                                rowWanted=rowWanted, 
-                                                sensorsy=sensorsy, 
-                                                sensorsx=sensorsx, 
-                                                modscanfront=modscanfront, modscanback=modscanback,
-                                                relative=relative, debug=debug)
-                analysis.analysis(octfile=octfile,name=name,frontscan=frontscanind,backscan=backscanind,accuracy=accuracy)                
-                trackerdict[index]['AnalysisObj'] = analysis
-            except Exception as e: # problem with file. TODO: only catch specific error types here.
-                warnings.warn('Index: {}. Problem with file. Error: {}. Skipping'.format(index,e), Warning)
-                return
-
-            #combine cumulative front and back irradiance for each tracker angle
-            try:  #on error, trackerdict[index] is returned empty
-                trackerdict[index]['Wm2Front'] = analysis.Wm2Front
-                trackerdict[index]['Wm2Back'] = analysis.Wm2Back
-                trackerdict[index]['backRatio'] = analysis.backRatio
-            except AttributeError as  e:  # no key Wm2Front.
-                warnings.warn('Index: {}. Trackerdict key not found: {}. Skipping'.format(index,e), Warning)
-                return
-
-            if np.sum(frontWm2) == 0:  # define frontWm2 the first time through
-                frontWm2 =  np.array(analysis.Wm2Front)
-                backWm2 =  np.array(analysis.Wm2Back)
-            else:
-                frontWm2 +=  np.array(analysis.Wm2Front)
-                backWm2 +=  np.array(analysis.Wm2Back)
-            print('Index: {}. Wm2Front: {}. Wm2Back: {}'.format(index,
+            # loop over rowWanted and modWanted.  Need to listify it first
+            if type(rowWanted)!=list:   rowWanted = [rowWanted]
+            if type(modWanted)!=list:   modWanted = [modWanted]
+            
+            row_mod_pairs = list(itertools.product(rowWanted,modWanted))
+            for (r,m) in row_mod_pairs:  
+                Results = {'rowWanted':r,'modWanted':m}
+                try:  # look for missing data
+                    analysis = AnalysisObj(octfile,name)
+                    name = '1axis_%s%s'%(index,customname,)
+                    frontscanind, backscanind = analysis.moduleAnalysis(scene=scene, modWanted=m, 
+                                                    rowWanted=r, 
+                                                    sensorsy=sensorsy, 
+                                                    sensorsx=sensorsx, 
+                                                    modscanfront=modscanfront, modscanback=modscanback,
+                                                    relative=relative, debug=debug)
+                    analysis.analysis(octfile=octfile,name=name,frontscan=frontscanind,backscan=backscanind,accuracy=accuracy)                
+                    Results['AnalysisObj']=analysis
+                except Exception as e: # problem with file. TODO: only catch specific error types here.
+                    warnings.warn('Index: {}. Problem with file. Error: {}. Skipping'.format(index,e), Warning)
+                    return
+
+                #combine cumulative front and back irradiance for each tracker angle
+                
+                try:  #on error, trackerdict[index] is returned empty
+                    Results['Wm2Front'] = analysis.Wm2Front
+                    Results['Wm2Back'] = analysis.Wm2Back
+                    Results['backRatio'] = analysis.backRatio
+                except AttributeError as  e:  # no key Wm2Front.
+                    warnings.warn('Index: {}. Trackerdict key not found: {}. Skipping'.format(index,e), Warning)
+                    return
+                trackerdict[index]['Results'].append(Results)
+                
+                print('Index: {}. Wm2Front: {}. Wm2Back: {}'.format(index,
                   np.mean(analysis.Wm2Front), np.mean(analysis.Wm2Back)))
-
-        if np.sum(self.Wm2Front) == 0:
-            self.Wm2Front = frontWm2   # these are accumulated over all indices passed in.
-            self.Wm2Back = backWm2
-        else:
-            self.Wm2Front += frontWm2   # these are accumulated over all indices passed in.
-            self.Wm2Back += backWm2
-        self.backRatio = np.mean(backWm2)/np.mean(frontWm2+.001)
-
-        # Save compiled results using _saveresults
-        if singleindex is None:
-        
-            print ("Saving a cumulative-results file in the main simulation folder." +
-                   "This adds up by sensor location the irradiance over all hours " +
-                   "or configurations considered." +
-                   "\nWarning: This file saving routine does not clean results, so "+
-                   "if your setup has ygaps, or 2+modules or torque tubes, doing "+
-                   "a deeper cleaning and working with the individual results "+
-                   "files in the results folder is highly suggested.")
-            cumfilename = 'cumulative_results_%s.csv'%(customname)
-            if self.cumulativesky is True: 
-                frontcum = pd.DataFrame()
-                rearcum = pd.DataFrame()
-                temptrackerdict = trackerdict[list(trackerdict)[0]]['AnalysisObj']
-                #temptrackerdict = trackerdict[0.0]['AnalysisObj']
-                frontcum ['x'] = temptrackerdict.x
-                frontcum ['y'] = temptrackerdict.y
-                frontcum ['z'] = temptrackerdict.z
-                frontcum ['mattype'] = temptrackerdict.mattype
-                frontcum ['Wm2'] = self.Wm2Front
-                rearcum ['x'] = temptrackerdict.x
-                rearcum ['y'] = temptrackerdict.x
-                rearcum ['z'] = temptrackerdict.rearZ
-                rearcum ['mattype'] = temptrackerdict.rearMat
-                rearcum ['Wm2'] = self.Wm2Back
-                cumanalysisobj = AnalysisObj()
-                print ("\nSaving Cumulative results" )
-                cumanalysisobj._saveResultsCumulative(frontcum, rearcum, savefile=cumfilename)
-            else: # trackerkeys are day/hour/min, and there's no easy way to find a 
-                # tilt of 0, so making a fake linepoint object for tilt 0 
-                # and then saving.
-                try:
-                    cumscene = trackerdict[trackerkeys[0]]['scene']
-                    cumscene.sceneDict['tilt']=0
-                    cumscene.sceneDict['clearance_height'] = self.hub_height
-                    cumanalysisobj = AnalysisObj()
-                    frontscancum, backscancum = cumanalysisobj.moduleAnalysis(scene=cumscene, modWanted=modWanted, 
-                                                rowWanted=rowWanted, 
-                                                sensorsy=sensorsy, 
-                                                sensorsx=sensorsx,
-                                                modscanfront=modscanfront, modscanback=modscanback,
-                                                relative=relative, debug=debug)
-                    x,y,z = cumanalysisobj._linePtsArray(frontscancum)
-                    x,y,rearz = cumanalysisobj._linePtsArray(backscancum)
-        
-                    frontcum = pd.DataFrame()
-                    rearcum = pd.DataFrame()
-                    frontcum ['x'] = x
-                    frontcum ['y'] = y
-                    frontcum ['z'] = z
-                    frontcum ['mattype'] = trackerdict[trackerkeys[0]]['AnalysisObj'].mattype
-                    frontcum ['Wm2'] = self.Wm2Front
-                    rearcum ['x'] = x
-                    rearcum ['y'] = y
-                    rearcum ['z'] = rearz
-                    rearcum ['mattype'] = trackerdict[trackerkeys[0]]['AnalysisObj'].rearMat
-                    rearcum ['Wm2'] = self.Wm2Back
-                    print ("\nSaving Cumulative results" )
-                    cumanalysisobj._saveResultsCumulative(frontcum, rearcum, savefile=cumfilename)            
-                except:
-                    print("Not able to save a cumulative result for this simulation.")
+                
         return trackerdict
 
 
-    def calculateResults(self, CECMod, glassglass=False, bifacialityfactor=None,
+    def calculateResults(self, CECMod=None, glassglass=False, bifacialityfactor=None,
                          CECMod2=None):
         '''
         Loops through all results in trackerdict and calculates performance, 
         considering electrical mismatch, using
         PVLib. Cell temperature is calculated 
+        
+        TODO:  move into AnalysisObj?
 
         Parameters
          ----------
         CECMod : Dict
             Dictionary with CEC Module PArameters for the module selected. Must 
             contain at minimum  alpha_sc, a_ref, I_L_ref, I_o_ref, R_sh_ref,
-            R_s, Adjust
+            R_s, Adjust. If 'None' passed, a default module type is selected
         glassglass : boolean, optional
             If True, module packaging is set to glass-glass for thermal 
             coefficients for module temperature calculation. Else it is
@@ -2703,9 +2654,9 @@ def calculateResults(self, CECMod, glassglass=False, bifacialityfactor=None,
             Grear_mean: mean of clean Grear
             Mismatch: mismatch calculated from the MAD distribution of 
                       POA_total
-            Pout_module: power output calculated from POA_total, considers 
+            Pout_raw: power output calculated from POA_total, considers 
                   wind speed and temp_amb if in trackerdict.
-            Pout_module_reduced: power output considering electrical mismatch
+            Pout: power output considering electrical mismatch
         '''
         
         from bifacial_radiance import performance
@@ -2713,57 +2664,90 @@ def calculateResults(self, CECMod, glassglass=False, bifacialityfactor=None,
         trackerdict = self.trackerdict
 
         keys = list(trackerdict.keys())
-       
+        
         # Search for module object bifaciality
         if bifacialityfactor is None:
             bifacialityfactor = trackerdict[keys[0]]['scene'].module.bifi
             print("Bifaciality factor of module stored is ", bifacialityfactor)
+    # !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!1``34
+        # TODO IMPORTANT: ADD CUMULATIVE CHEck AND WHOLE OTHER PROCESSING OPTION
+        # TO EMULATE WHAT HAPPENED BEFORE WITH GENCUMSKY1AXIS when trackerdict = cumulative = True
+        # if cumulative:
+        #    print("Add HERE gencusky1axis results for each tracekr angle")
 
+        #else:
+        # loop over module and row values in 'Results'
         temp_air = []
         wind_speed = []
         Wm2Front = []
         Wm2Back = []
         rearMat = []
         frontMat = []
+        rowWanted = []
+        modWanted = []
+        keys_all = []
+        
         for key in keys:
-            Wm2Front.append(trackerdict[key]['AnalysisObj'].Wm2Front)
-            Wm2Back.append(trackerdict[key]['AnalysisObj'].Wm2Back)
-            frontMat.append(trackerdict[key]['AnalysisObj'].mattype)
-            rearMat.append(trackerdict[key]['AnalysisObj'].rearMat)
-            temp_air.append(trackerdict[key]['temp_air'])
-            wind_speed.append(trackerdict[key]['wind_speed'])
-     
-        # Update tracker dict now!
-#       trackerdict[key]['effective_irradiance'] = eff_irrad
+            for row_mod in trackerdict[key]['Results']: # loop over multiple row & module in trackerDict['Results']
+                keys_all.append(key)               
+                Wm2Front.append(row_mod['AnalysisObj'].Wm2Front)
+                Wm2Back.append(row_mod['AnalysisObj'].Wm2Back)
+                frontMat.append(row_mod['AnalysisObj'].mattype)
+                rearMat.append(row_mod['AnalysisObj'].rearMat)
+                rowWanted.append(row_mod['AnalysisObj'].rowWanted)
+                modWanted.append(row_mod['AnalysisObj'].modWanted)     
+                if self.cumulativesky is False:
+                    temp_air.append(trackerdict[key]['temp_air'])
+                    wind_speed.append(trackerdict[key]['wind_speed'])
+
+        # trackerdict[key]['effective_irradiance'] = eff_irrad
             
-        data= pd.DataFrame(zip(keys, Wm2Front, Wm2Back, frontMat, rearMat,  
-                                             wind_speed, temp_air), 
-                                         columns=('timestamp', 'Wm2Front', 
-                                                  'Wm2Back', 'mattype',
-                                                  'rearMat',
-                                                  'wind_speed', 'temp_air'))
-        
-        
-        results = performance.arrayResults(CECMod=CECMod, results=data,
-                                           wind_speed = data['wind_speed'],
-                                           temp_air=data['temp_air'],
-                                           bifacialityfactor=bifacialityfactor,
-                                           CECMod2=CECMod2)
-        ii = 0
-        for key in keys:        
-            trackerdict[key]['POA_eff'] = results['POA_eff'][ii]
-            trackerdict[key]['Gfront_mean'] = results['Gfront_mean'][ii]
-            trackerdict[key]['Grear_mean'] = results['Grear_mean'][ii]
-            trackerdict[key]['Pout_module'] = results['Pout'][ii]
-            trackerdict[key]['Mismatch'] = results['Mismatch'][ii]
-            trackerdict[key]['Pout_module_reduced'] = results['Pout_red'][ii]
+        data= pd.DataFrame(zip(keys_all, rowWanted, modWanted, 
+                               Wm2Front, Wm2Back, frontMat, rearMat), 
+                                         columns=('timestamp', 'rowNum','ModNumber',
+                                                  'Wm2Front', 'Wm2Back', 'mattype',
+                                                  'rearMat'))
+
+        if self.cumulativesky is False:
+            data['temp_air'] = temp_air
+            data['wind_speed'] = wind_speed
+            # If CECMod details aren't passed, use a default Prism Solar value.
+            if CECMod is None:
+                print("No CECModule data passed; using default for Prism Solar BHC72-400")
+                #url = 'https://raw.githubusercontent.com/NREL/SAM/patch/deploy/libraries/CEC%20Modules.csv'
+                url = os.path.join(DATA_PATH,'CEC Modules.csv')
+                db = pd.read_csv(url, index_col=0) # Reading this might take 1 min or so, the database is big.
+                modfilter2 = db.index.str.startswith('Pr') & db.index.str.endswith('BHC72-400')
+                CECMod = db[modfilter2]
+
+            results = performance.calculateResults(CECMod=CECMod, results=data,
+                                               wind_speed = data['wind_speed'],
+                                               temp_air=data['temp_air'],
+                                               bifacialityfactor=bifacialityfactor,
+                                               CECMod2=CECMod2)
+
+            ii = 0
+            # Update tracker dict now!
+            for key in keys:        
+                trackerdict[key]['POA_eff'] = results['POA_eff'][ii]
+                trackerdict[key]['Gfront_mean'] = results['Gfront_mean'][ii]
+                trackerdict[key]['Grear_mean'] = results['Grear_mean'][ii]
+                trackerdict[key]['Pout_raw'] = results['Pout_raw'][ii]
+                trackerdict[key]['Pout_Gfront'] = results['Pout_Gfront'][ii]
+                trackerdict[key]['Mismatch'] = results['Mismatch'][ii]
+                trackerdict[key]['Pout'] = results['Pout'][ii]
+                
+                ii +=1
             
-
-            ii +=1
+        else:
+            # TODO HERE: SUM all keys for rows that have the same rowWanted/modWanted
             
+            results = performance.calculateResultsGencumsky1axis(results=data)
+            results.to_csv(os.path.join('results', 'Cumulative_Results.csv'))
             
+        self.CompiledResults = results         
         self.trackerdict = trackerdict
-        
+            
         return trackerdict
 
 # End RadianceObj definition
@@ -2989,7 +2973,6 @@ def __init__(self, module=None):
         #self.scenex = self.module.scenex
         #self.sceney = self.module.sceney
         #self.offsetfromaxis = self.moduleDict['offsetfromaxis']
-        #TODO: get rid of these 4 values
         
         self.modulefile = self.module.modulefile
         self.hpc = False  #default False.  Set True by makeScene after sceneobj created.
@@ -3660,11 +3643,15 @@ def __init__(self, octfile=None, name=None, hpc=False):
         name    :
         hpc     : boolean, default False. Waits for octfile for a
                   longer time if parallel processing.
+        modWanted  : Module used for analysis
+        rowWanted  : Row used for analysis 
         """
 
         self.octfile = octfile
         self.name = name
         self.hpc = hpc
+        self.modWanted = None
+        self.rowWanted = None
 
     def makeImage(self, viewfile, octfile=None, name=None):
         """
@@ -3837,7 +3824,8 @@ def _irrPlot(self, octfile, linepts, mytitle=None, plotflag=None,
         """
         
         if mytitle is None:
-            mytitle = octfile[:-4]
+            #mytitle = octfile[:-4]
+            mytitle = f'{octfile[:-4]}_Row{self.rowWanted}_Module{self.modWanted}'
 
         if plotflag is None:
             plotflag = False
@@ -4216,7 +4204,8 @@ def _checkSensors(sensors):
             modWanted = round(nMods / 1.99)
         if rowWanted is None:
             rowWanted = round(nRows / 1.99)
-
+        self.modWanted = modWanted
+        self.rowWanted = rowWanted
         if debug is True:
             print( f"Sampling: modWanted {modWanted}, rowWanted {rowWanted} "
                   "out of {nMods} modules, {nRows} rows" )
@@ -4440,7 +4429,7 @@ def analyzeRow(self, octfile, scene, rowWanted=None, name=None,
             frontscan, backscan = self.moduleAnalysis(scene, sensorsy=sensorsy, 
                                         sensorsx=sensorsx, modWanted = i+1, 
                                         rowWanted = rowWanted) 
-            allscan = self.analysis(octfile, name+'_Module_'+str(i), frontscan, backscan) 
+            allscan = self.analysis(octfile, name, frontscan, backscan) 
             front_dict = allscan[0]
             back_dict = allscan[1]
             temp_dict['x'] = front_dict['x']
@@ -4574,6 +4563,10 @@ def analysis(self, octfile, name, frontscan, backscan,
             print('Analysis aborted - no octfile \n')
             return None, None
         linepts = self._linePtsMakeDict(frontscan)
+        if self.rowWanted:
+            name = name + f'_Row{self.rowWanted}'
+        if self.modWanted:
+            name = name + f'_Module{self.modWanted}'
         frontDict = self._irrPlot(octfile, linepts, name+'_Front',
                                     plotflag=plotflag, accuracy=accuracy)
 
diff --git a/bifacial_radiance/modelchain.py b/bifacial_radiance/modelchain.py
index 3b9695bd..345e4fdf 100644
--- a/bifacial_radiance/modelchain.py
+++ b/bifacial_radiance/modelchain.py
@@ -27,7 +27,8 @@ def _append_dicts(x, y):
 
 def runModelChain(simulationParamsDict, sceneParamsDict, timeControlParamsDict=None, 
                   moduleParamsDict=None, trackingParamsDict=None, torquetubeParamsDict=None, 
-                  analysisParamsDict=None, cellModuleDict=None, CECModParamsDict=None):
+                  analysisParamsDict=None, cellModuleDict=None, CECModParamsDict=None, 
+                  frameParamsDict=None, omegaParamsDict=None, pilesParamsDict=None):
     """
     This calls config.py values, which are arranged into dictionaries,
     and runs all the respective processes based on the variables in the config.py.
@@ -59,11 +60,15 @@ def runModelChain(simulationParamsDict, sceneParamsDict, timeControlParamsDict=N
     inifilename = os.path.join(
         simulationParamsDict['testfolder'],  'simulation.ini')
     bifacial_radiance.load.savedictionariestoConfigurationIniFile(simulationParamsDict, sceneParamsDict, timeControlParamsDict,
-                                                                  moduleParamsDict, trackingParamsDict, torquetubeParamsDict, analysisParamsDict, cellModuleDict, CECModParamsDict, inifilename)
+                                                                  moduleParamsDict, trackingParamsDict, torquetubeParamsDict, analysisParamsDict, 
+                                                                  cellModuleDict, CECModParamsDict, 
+                                                                  frameParamsDict, omegaParamsDict, pilesParamsDict,
+                                                                  inifilename)
     # re-load configuration file to make sure all booleans are converted
     (simulationParamsDict, sceneParamsDict, timeControlParamsDict, 
      moduleParamsDict, trackingParamsDict,torquetubeParamsDict,
-     analysisParamsDict,cellModuleDict, CECModParamsDict) = \
+     analysisParamsDict,cellModuleDict, CECModParamsDict, frameParamsDict, 
+     omegaParamsDict, pilesParamsDict ) = \
         bifacial_radiance.load.readconfigurationinputfile(inifilename)
     
     # Load weatherfile
@@ -100,6 +105,7 @@ def runModelChain(simulationParamsDict, sceneParamsDict, timeControlParamsDict=N
             cellModule = cellModuleDict
     except: pass
     
+    
     """
     if not torquetubeParamsDict:
         #kwargs = {**torquetubeParamsDict, **moduleParamsDict} #Py3 Only
@@ -120,16 +126,19 @@ def runModelChain(simulationParamsDict, sceneParamsDict, timeControlParamsDict=N
             
             module = demo.makeModule(name=simulationParamsDict['moduletype'],
                                          tubeParams=torquetubeParamsDict,
-                                         cellModule=cellModule, **kwargs)
+                                         cellModule=cellModule, 
+                                         frameParams=frameParamsDict,
+                                         omegaParams=omegaParamsDict, **kwargs)
 
         print("\nUsing Pre-determined Module Type: %s " %
               simulationParamsDict['moduletype'])
     else:
         module = demo.makeModule(name=simulationParamsDict['moduletype'],
                                      tubeParams=torquetubeParamsDict,
+                                         frameParams=frameParamsDict,
+                                         omegaParams=omegaParamsDict,
                                      cellModule=cellModule, **kwargs)
-
-    
+        
     if 'gcr' not in sceneParamsDict:  # didn't get gcr passed - need to calculate it
         sceneParamsDict['gcr'] = module.sceney / \
             sceneParamsDict['pitch']
@@ -139,6 +148,13 @@ def runModelChain(simulationParamsDict, sceneParamsDict, timeControlParamsDict=N
         scene = demo.makeScene(module=simulationParamsDict['moduletype'], 
                                sceneDict=sceneParamsDict)
         demo.genCumSky(demo.gencumsky_metfile)  
+        
+        if pilesParamsDict:
+            demo.addPiles(spacingPiles=pilesParamsDict['spacingPiles'], 
+                          pile_lenx=pilesParamsDict['pile_lenx'], 
+                          pile_leny=pilesParamsDict['pile_leny'],
+                          pile_height=pilesParamsDict['pile_height'])
+            
         octfile = demo.makeOct(demo.getfilelist())
         analysis = bifacial_radiance.AnalysisObj(octfile, demo.name)
         frontscan, backscan = analysis.moduleAnalysis(scene, analysisParamsDict['modWanted'],
@@ -148,6 +164,14 @@ def runModelChain(simulationParamsDict, sceneParamsDict, timeControlParamsDict=N
         print('Bifacial ratio yearly average:  %0.3f' %
               (np.mean(analysis.Wm2Back) / np.mean(analysis.Wm2Front)))
 
+        if 'makeImage' in simulationParamsDict:
+            if simulationParamsDict['makeImage']:
+                try:
+                    print("Saving images")
+                    analysis.makeImage('side.vp')
+                    analysis.makeFalseColor('side.vp')
+                except:
+                    print("Failed to make image")
     else:
     # Run everything through TrackerDict.    
 
@@ -191,8 +215,12 @@ def runModelChain(simulationParamsDict, sceneParamsDict, timeControlParamsDict=N
                # What was before:         
                # analysis = trackerdict[time]['AnalysisObj']
 
-        analysis = demo.trackerdict[list(demo.trackerdict.keys())[-1]]['AnalysisObj']
+        analysis = demo.trackerdict[list(demo.trackerdict.keys())[-1]]['Results'][0]['AnalysisObj']
         
+
+
+            
+            
         if simulationParamsDict['cumulativeSky']:
             print("Finished! ")
         else:
@@ -204,12 +232,7 @@ def runModelChain(simulationParamsDict, sceneParamsDict, timeControlParamsDict=N
             if CECModParamsDict:
                 CECMod = pd.DataFrame(CECModParamsDict, index=[0])
             else:
-                print("No CECModule data passed; using default for Prism Solar BHC72-400")
-                #url = 'https://raw.githubusercontent.com/NREL/SAM/patch/deploy/libraries/CEC%20Modules.csv'
-                url = os.path.join(bifacial_radiance.main.DATA_PATH,'CEC Modules.csv')
-                db = pd.read_csv(url, index_col=0) # Reading this might take 1 min or so, the database is big.
-                modfilter2 = db.index.str.startswith('Pr') & db.index.str.endswith('BHC72-400')
-                CECMod = db[modfilter2]
+                CECMod = None
             demo.calculateResults(CECMod = CECMod)
             demo.exportTrackerDict(savefile=os.path.join('results','Final_Results.csv'),reindex=False)
 
diff --git a/bifacial_radiance/performance.py b/bifacial_radiance/performance.py
index 1d38dae1..6af2891f 100644
--- a/bifacial_radiance/performance.py
+++ b/bifacial_radiance/performance.py
@@ -201,18 +201,82 @@ def RMSE_abs(meas,model):
     out = np.sqrt(1/m*sum((df.model-df.meas)**2))
     return out
 
+def _cleanDataFrameResults(mattype, rearMat, Wm2Front, Wm2Back, fillcleanedSensors=False):
+
+    import numpy as np
+    
+    matchers = ['sky','pole','tube','bar','ground', '3267', '1540']
+    
+    maskfront = np.column_stack([mattype[col].str.contains('|'.join(matchers), na=False) for col in mattype])
+    Wm2Front[maskfront] = np.nan
+
+    maskback = np.column_stack([rearMat[col].str.contains('|'.join(matchers), na=False) for col in rearMat])
+    Wm2Back[maskback] = np.nan
     
-def arrayResults(CECMod, csvfile=None, results=None, 
+    # Filling Nans...        
+    filledFront = Wm2Front.mean(axis=1)
+    
+    if fillcleanedSensors:
+        filledBack = Wm2Back.copy().interpolate()
+    else:
+        filledBack = Wm2Back.copy() #interpolate()
+
+    return filledFront,filledBack
+
+def calculateResults(CECMod, csvfile=None, results=None, 
                  temp_air=None, wind_speed=1, temp_cell=None,  glassglass=False,
-                 bifacialityfactor=1.0, CECMod2=None):
+                 bifacialityfactor=1.0, CECMod2=None, fillcleanedSensors=False):
     '''
-    Calculate Performance and Mismatch
+    Calculate Performance and Mismatch for timestamped data. This routine
+    
+    
+    Parameters
+    ----------
+    CECMod : dict
+        CEC Module data as dictionary
+    csvfile : numeric list
+        Compiled Results data
+    results : numeric list
+        compiled Results data
+    temp_air : value or list
+        Air temperature for calculating module temperature
+    wind_speed : value or list
+        Wind tempreatuer for calcluating module temperature 
+    temp_cell : value or list
+        Cell temperature for calculating module performance. If none, module
+        temperature is calculated using temp_air and wind_speed
+    glassglass : Bool
+        PAckaging of the module, used when calculating module temperature
+    bifacialityfactor : float
+        Bifaciality factor, used for calculating of effective rear irradiance and
+        subsequently module performance
+    CECMod2 : dict
+        CEC Module data as dictionary, for a monofacial module to be used as 
+        comparison for Bifacial Gain in Energy using only the calculated front
+        Irradiance. If none, same module as CECMod
+        is used.
+
+    Returns
+    -------
+    dfst : dataframe
+    Dataframe with the complied and calculated results for the sim, including:
+        POA_eff: mean of [(mean of clean Gfront) + clean Grear * bifaciality factor]
+        Gfront_mean: mean of clean Gfront
+        Grear_mean: mean of clean Grear
+        Mismatch: mismatch calculated from the MAD distribution of 
+                  POA_total
+        Pout_raw: power output calculated from POA_total, considers 
+              wind speed and temp_amb if in trackerdict.
+        Pout: power output considering electrical mismatch        
+        BGG: Bifacial Gain in Irradiance, Grear_mean*100*bifacialityfactor/Gfront_mean
+        BGE: Bifacial Gain in Energy, when power is calculated with CECMod2 or same module but 
+              just the front irradiance as input, so that Pout-Pout_Gfront/Pout_Gfront
+    
     '''
 
     from bifacial_radiance import mismatch
 
     import pandas as pd
-    import numpy as np
     
     if CECMod2 is None:
         CECMod2 = CECMod
@@ -229,9 +293,9 @@ def arrayResults(CECMod, csvfile=None, results=None,
         if 'timestamp' in data:
             dfst['timestamp'] = data['timestamp']
         if 'ModNumber' in data:
-            dfst['ModNumber'] = data['ModNumber']
-        if 'Row' in data:
-            dfst['rowNum'] = data['Row']
+            dfst['Module'] = data['ModNumber']
+        if 'rowNum' in data:
+            dfst['Row'] = data['rowNum']
     else:
         if results is not None:
             Wm2Front = pd.DataFrame.from_dict(dict(zip(results.index,results['Wm2Front']))).T
@@ -242,26 +306,16 @@ def arrayResults(CECMod, csvfile=None, results=None,
             if 'timestamp' in results:
                 dfst['timestamp'] = results['timestamp']
             if 'ModNumber' in results:
-                dfst['ModNumber'] = results['ModNumber']
-            if 'Row' in results:
-                dfst['rowNum'] = results['Row']
-
+                dfst['module'] = results['ModNumber']
+            if 'rowNum' in results:
+                dfst['row'] = results['rowNum']
 
         else:
             print("Data or file not passed. Ending arrayResults")
             return
-        
-    matchers = ['sky','pole','tube','bar','ground', '3267', '1540']
     
-    maskfront = np.column_stack([mattype[col].str.contains('|'.join(matchers), na=False) for col in mattype])
-    Wm2Front[maskfront] = np.nan
+    filledFront,filledBack = _cleanDataFrameResults(mattype, rearMat, Wm2Front, Wm2Back, fillcleanedSensors=fillcleanedSensors)
 
-    maskback = np.column_stack([rearMat[col].str.contains('|'.join(matchers), na=False) for col in rearMat])
-    Wm2Back[maskback] = np.nan
-    
-    # Filling Nans...        
-    filledFront = Wm2Front.mean(axis=1)
-    filledBack = Wm2Back.copy() #interpolate()
     POA=filledBack.apply(lambda x: x*bifacialityfactor + filledFront)
     
     # Statistics Calculatoins
@@ -273,7 +327,7 @@ def arrayResults(CECMod, csvfile=None, results=None,
     #dfst['MAD/G_Total**2'] = dfst['MAD/G_Total']**2
     #dfst['stdev'] = POA.std(axis=1)/ dfst['poat']
     
-    dfst['Pout'] = calculatePerformance(effective_irradiance= dfst['POA_eff'], 
+    dfst['Pout_raw'] = calculatePerformance(effective_irradiance= dfst['POA_eff'], 
                                         CECMod = CECMod, temp_air=temp_air, 
                                         wind_speed=wind_speed, temp_cell=temp_cell,  
                                         glassglass=glassglass)
@@ -281,9 +335,108 @@ def arrayResults(CECMod, csvfile=None, results=None,
                                         CECMod = CECMod2, temp_air=temp_air, 
                                         wind_speed=wind_speed, temp_cell=temp_cell,  
                                         glassglass=glassglass)
-    dfst['BGG'] = dfst['Grear_mean']*100/dfst['Gfront_mean']
-    dfst['BGE'] = (dfst['Pout']-dfst['Pout_Gfront'])*100/dfst['Pout_Gfront']
+    dfst['BGG'] = dfst['Grear_mean']*100*bifacialityfactor/dfst['Gfront_mean']
+    dfst['BGE'] = (dfst['Pout_raw']-dfst['Pout_Gfront'])*100/dfst['Pout_Gfront']
     dfst['Mismatch'] = mismatch.mismatch_fit3(POA.T)
-    dfst['Pout_red'] = dfst['Pout']*(1-dfst['Mismatch']/100)
+    dfst['Pout'] = dfst['Pout_raw']*(1-dfst['Mismatch']/100)
+
+    return dfst
+
+
+
+def calculateResultsGencumsky1axis(csvfile=None, results=None, 
+                 bifacialityfactor=1.0, fillcleanedSensors=True):
+    '''
+    Compile calculate results for cumulative 1 axis tracking routine
+    
+    Parameters
+    ----------
+    csvfile : numeric list
+        Compiled Results data
+    results : numeric list
+        compiled Results data
+
+    Returns
+    -------
+    dfst : dataframe
+    Dataframe with the complied and calculated results for the sim, including:
+        POA_eff: mean of [(mean of clean Gfront) + clean Grear * bifaciality factor]
+        Gfront_mean: mean of clean Gfront
+        Grear_mean: mean of clean Grear
+        BGG: Bifacial Gain in Irradiance, Grear_mean*100*bifacialityfactor/Gfront_mean
+    
+    '''
+
+
+    import pandas as pd
+    
+    dfst=pd.DataFrame()
+
+    if csvfile is not None:
+        data = pd.read_csv(csvfile)
+        Wm2Front = data['Wm2Front'].str.strip('[]').str.split(',', expand=True).astype(float)
+        Wm2Back = data['Wm2Back'].str.strip('[]').str.split(',', expand=True).astype(float)
+        mattype = data['mattype'].str.strip('[]').str.split(',', expand=True)
+        rearMat = data['rearMat'].str.strip('[]').str.split(',', expand=True)
+        
+        if 'ModNumber' in data:
+            dfst['module'] = data['ModNumber']
+        if 'rowNum' in data:
+            dfst['row'] = data['rowNum']
+    else:
+        if results is not None:
+            Wm2Front = pd.DataFrame.from_dict(dict(zip(results.index,results['Wm2Front']))).T
+            Wm2Back = pd.DataFrame.from_dict(dict(zip(results.index,results['Wm2Back']))).T
+            mattype = pd.DataFrame.from_dict(dict(zip(results.index,results['mattype']))).T
+            rearMat = pd.DataFrame.from_dict(dict(zip(results.index,results['rearMat']))).T
+            
+            if 'ModNumber' in results:
+                dfst['Module'] = results['ModNumber']
+            if 'rowNum' in results:
+                dfst['Row'] = results['rowNum']
+
+        else:
+            print("Data or file not passed. Ending calculateResults")
+            return
+    
+    # Data gets cleaned but need to maintain same number of sensors
+    # due to adding for the various tracker angles.
+    
+    filledFront,filledBack = _cleanDataFrameResults(mattype, rearMat, Wm2Front, Wm2Back, fillcleanedSensors=fillcleanedSensors)
+
+    cumFront=[]
+    cumBack=[]
+    cumRow=[]
+    cumMod=[]
+    Grear_mean=[]
+#    Gfront_mean=[]
+    POA_eff=[]   
+    
+    for rownum in results['row'].unique():
+        for modnum in results['module'].unique():
+            mask = (results['row']==rownum) & (results['module']==modnum)
+            cumBack.append(list(filledBack[mask].sum(axis=0)))
+            cumFront.append(filledFront[mask].sum(axis=0))
+            cumRow.append(rownum)
+            cumMod.append(modnum)
+
+            # Maybe this would be faster by first doing the DF with the above,
+            # exploding the column and calculating. 
+            POA_eff.append(list((filledBack[mask].apply(lambda x: x*bifacialityfactor + filledFront[mask])).sum(axis=0)))
+            Grear_mean.append(filledBack[mask].sum(axis=0).mean())
+ #           Gfront_mean.append(filledFront[mask].sum(axis=0).mean())
+            
+    dfst= pd.DataFrame(zip(cumRow, cumMod, cumFront, 
+                           cumBack, Grear_mean,POA_eff),
+                                     columns=('row','module',
+                                              'Gfront_mean', 'Wm2Back',
+                                              'Grear_mean',
+                                              'POA_eff'))
+    
+    dfst['BGG'] = dfst['Grear_mean']*100*bifacialityfactor/dfst['Gfront_mean']
+
+    # Reordering columns    
+    cols = ['row', 'module', 'BGG', 'Gfront_mean', 'Grear_mean', 'POA_eff', 'Wm2Back']
+    dfst = dfst[cols]
 
-    return dfst
\ No newline at end of file
+    return dfst
diff --git a/docs/sphinx/source/manualapi.rst b/docs/sphinx/source/manualapi.rst
index a96aa415..ec02addf 100644
--- a/docs/sphinx/source/manualapi.rst
+++ b/docs/sphinx/source/manualapi.rst
@@ -112,6 +112,7 @@ Methods for irradiance calculations
    AnalysisObj.moduleAnalysis
    AnalysisObj.analysis
    RadianceObj.analysis1axis
+   RadianceObj.compileResults
 
 Mismatch
 --------
diff --git a/docs/sphinx/source/whatsnew/pending.rst b/docs/sphinx/source/whatsnew/pending.rst
new file mode 100644
index 00000000..169f2321
--- /dev/null
+++ b/docs/sphinx/source/whatsnew/pending.rst
@@ -0,0 +1,33 @@
+.. _whatsnew_0420:
+
+v0.4.2 (XX / XX / 2022)
+------------------------
+Release of new version including ...
+
+
+API Changes
+~~~~~~~~~~~~
+*A new function can now be called to compile results and report out final irradiance and performance data: :py:class:`~bifacial_radiance.RadianceObj.compileResults`.
+*Multiple modules and rows can now be selected in a single analysis scan. ``modWanted`` and ``rowWanted`` inputs in :py:class:`~bifacial_radiance.RadianceObj.analysis1axis` can now be a list, to select multiple rows and modules for scans. (:issue:`405`)(:pull:`408`)
+*To support multiple modules and row scans for 1axis simulations, outputs like Wm2Front are now stored in ``trackerdict``.``Results``  (:issue:`405`)(:pull:`408`)
+
+
+Enhancements
+~~~~~~~~~~~~
+
+
+
+
+Bug fixes
+~~~~~~~~~
+
+
+Documentation
+~~~~~~~~~~~~~~
+* Edge effects evaluation tutorial 23, with the new functionality of multiple modules/rows on the same analysis scan.
+
+
+Contributors
+~~~~~~~~~~~~
+* Silvana Ayala (:ghuser:`shirubana`)
+* Chris Deline (:ghuser:`cdeline`)
\ No newline at end of file
diff --git a/docs/tutorials/23 - Edge Effects with Hourly Tracking Dictionary.html b/docs/tutorials/23 - Edge Effects with Hourly Tracking Dictionary.html
new file mode 100644
index 00000000..dedd471c
--- /dev/null
+++ b/docs/tutorials/23 - Edge Effects with Hourly Tracking Dictionary.html
@@ -0,0 +1,14786 @@
+<!DOCTYPE html>
+<html>
+<head><meta charset="utf-8" />
+<meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+<title>23 - Edge Effects with Hourly Tracking Dictionary</title><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.1.10/require.min.js"></script>
+
+
+
+
+<style type="text/css">
+    pre { line-height: 125%; }
+td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
+span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
+td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
+span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
+.highlight .hll { background-color: var(--jp-cell-editor-active-background) }
+.highlight { background: var(--jp-cell-editor-background); color: var(--jp-mirror-editor-variable-color) }
+.highlight .c { color: var(--jp-mirror-editor-comment-color); font-style: italic } /* Comment */
+.highlight .err { color: var(--jp-mirror-editor-error-color) } /* Error */
+.highlight .k { color: var(--jp-mirror-editor-keyword-color); font-weight: bold } /* Keyword */
+.highlight .o { color: var(--jp-mirror-editor-operator-color); font-weight: bold } /* Operator */
+.highlight .p { color: var(--jp-mirror-editor-punctuation-color) } /* Punctuation */
+.highlight .ch { color: var(--jp-mirror-editor-comment-color); font-style: italic } /* Comment.Hashbang */
+.highlight .cm { color: var(--jp-mirror-editor-comment-color); font-style: italic } /* Comment.Multiline */
+.highlight .cp { color: var(--jp-mirror-editor-comment-color); font-style: italic } /* Comment.Preproc */
+.highlight .cpf { color: var(--jp-mirror-editor-comment-color); font-style: italic } /* Comment.PreprocFile */
+.highlight .c1 { color: var(--jp-mirror-editor-comment-color); font-style: italic } /* Comment.Single */
+.highlight .cs { color: var(--jp-mirror-editor-comment-color); font-style: italic } /* Comment.Special */
+.highlight .kc { color: var(--jp-mirror-editor-keyword-color); font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: var(--jp-mirror-editor-keyword-color); font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: var(--jp-mirror-editor-keyword-color); font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: var(--jp-mirror-editor-keyword-color); font-weight: bold } /* Keyword.Pseudo */
+.highlight .kr { color: var(--jp-mirror-editor-keyword-color); font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: var(--jp-mirror-editor-keyword-color); font-weight: bold } /* Keyword.Type */
+.highlight .m { color: var(--jp-mirror-editor-number-color) } /* Literal.Number */
+.highlight .s { color: var(--jp-mirror-editor-string-color) } /* Literal.String */
+.highlight .ow { color: var(--jp-mirror-editor-operator-color); font-weight: bold } /* Operator.Word */
+.highlight .w { color: var(--jp-mirror-editor-variable-color) } /* Text.Whitespace */
+.highlight .mb { color: var(--jp-mirror-editor-number-color) } /* Literal.Number.Bin */
+.highlight .mf { color: var(--jp-mirror-editor-number-color) } /* Literal.Number.Float */
+.highlight .mh { color: var(--jp-mirror-editor-number-color) } /* Literal.Number.Hex */
+.highlight .mi { color: var(--jp-mirror-editor-number-color) } /* Literal.Number.Integer */
+.highlight .mo { color: var(--jp-mirror-editor-number-color) } /* Literal.Number.Oct */
+.highlight .sa { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Affix */
+.highlight .sb { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Backtick */
+.highlight .sc { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Char */
+.highlight .dl { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Delimiter */
+.highlight .sd { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Doc */
+.highlight .s2 { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Double */
+.highlight .se { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Escape */
+.highlight .sh { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Heredoc */
+.highlight .si { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Interpol */
+.highlight .sx { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Other */
+.highlight .sr { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Regex */
+.highlight .s1 { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Single */
+.highlight .ss { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Symbol */
+.highlight .il { color: var(--jp-mirror-editor-number-color) } /* Literal.Number.Integer.Long */
+  </style>
+
+
+
+<style type="text/css">
+/*-----------------------------------------------------------------------------
+| Copyright (c) Jupyter Development Team.
+| Distributed under the terms of the Modified BSD License.
+|----------------------------------------------------------------------------*/
+
+/*
+ * Mozilla scrollbar styling
+ */
+
+/* use standard opaque scrollbars for most nodes */
+[data-jp-theme-scrollbars='true'] {
+  scrollbar-color: rgb(var(--jp-scrollbar-thumb-color))
+    var(--jp-scrollbar-background-color);
+}
+
+/* for code nodes, use a transparent style of scrollbar. These selectors
+ * will match lower in the tree, and so will override the above */
+[data-jp-theme-scrollbars='true'] .CodeMirror-hscrollbar,
+[data-jp-theme-scrollbars='true'] .CodeMirror-vscrollbar {
+  scrollbar-color: rgba(var(--jp-scrollbar-thumb-color), 0.5) transparent;
+}
+
+/* tiny scrollbar */
+
+.jp-scrollbar-tiny {
+  scrollbar-color: rgba(var(--jp-scrollbar-thumb-color), 0.5) transparent;
+  scrollbar-width: thin;
+}
+
+/*
+ * Webkit scrollbar styling
+ */
+
+/* use standard opaque scrollbars for most nodes */
+
+[data-jp-theme-scrollbars='true'] ::-webkit-scrollbar,
+[data-jp-theme-scrollbars='true'] ::-webkit-scrollbar-corner {
+  background: var(--jp-scrollbar-background-color);
+}
+
+[data-jp-theme-scrollbars='true'] ::-webkit-scrollbar-thumb {
+  background: rgb(var(--jp-scrollbar-thumb-color));
+  border: var(--jp-scrollbar-thumb-margin) solid transparent;
+  background-clip: content-box;
+  border-radius: var(--jp-scrollbar-thumb-radius);
+}
+
+[data-jp-theme-scrollbars='true'] ::-webkit-scrollbar-track:horizontal {
+  border-left: var(--jp-scrollbar-endpad) solid
+    var(--jp-scrollbar-background-color);
+  border-right: var(--jp-scrollbar-endpad) solid
+    var(--jp-scrollbar-background-color);
+}
+
+[data-jp-theme-scrollbars='true'] ::-webkit-scrollbar-track:vertical {
+  border-top: var(--jp-scrollbar-endpad) solid
+    var(--jp-scrollbar-background-color);
+  border-bottom: var(--jp-scrollbar-endpad) solid
+    var(--jp-scrollbar-background-color);
+}
+
+/* for code nodes, use a transparent style of scrollbar */
+
+[data-jp-theme-scrollbars='true'] .CodeMirror-hscrollbar::-webkit-scrollbar,
+[data-jp-theme-scrollbars='true'] .CodeMirror-vscrollbar::-webkit-scrollbar,
+[data-jp-theme-scrollbars='true']
+  .CodeMirror-hscrollbar::-webkit-scrollbar-corner,
+[data-jp-theme-scrollbars='true']
+  .CodeMirror-vscrollbar::-webkit-scrollbar-corner {
+  background-color: transparent;
+}
+
+[data-jp-theme-scrollbars='true']
+  .CodeMirror-hscrollbar::-webkit-scrollbar-thumb,
+[data-jp-theme-scrollbars='true']
+  .CodeMirror-vscrollbar::-webkit-scrollbar-thumb {
+  background: rgba(var(--jp-scrollbar-thumb-color), 0.5);
+  border: var(--jp-scrollbar-thumb-margin) solid transparent;
+  background-clip: content-box;
+  border-radius: var(--jp-scrollbar-thumb-radius);
+}
+
+[data-jp-theme-scrollbars='true']
+  .CodeMirror-hscrollbar::-webkit-scrollbar-track:horizontal {
+  border-left: var(--jp-scrollbar-endpad) solid transparent;
+  border-right: var(--jp-scrollbar-endpad) solid transparent;
+}
+
+[data-jp-theme-scrollbars='true']
+  .CodeMirror-vscrollbar::-webkit-scrollbar-track:vertical {
+  border-top: var(--jp-scrollbar-endpad) solid transparent;
+  border-bottom: var(--jp-scrollbar-endpad) solid transparent;
+}
+
+/* tiny scrollbar */
+
+.jp-scrollbar-tiny::-webkit-scrollbar,
+.jp-scrollbar-tiny::-webkit-scrollbar-corner {
+  background-color: transparent;
+  height: 4px;
+  width: 4px;
+}
+
+.jp-scrollbar-tiny::-webkit-scrollbar-thumb {
+  background: rgba(var(--jp-scrollbar-thumb-color), 0.5);
+}
+
+.jp-scrollbar-tiny::-webkit-scrollbar-track:horizontal {
+  border-left: 0px solid transparent;
+  border-right: 0px solid transparent;
+}
+
+.jp-scrollbar-tiny::-webkit-scrollbar-track:vertical {
+  border-top: 0px solid transparent;
+  border-bottom: 0px solid transparent;
+}
+
+/*
+ * Phosphor
+ */
+
+.lm-ScrollBar[data-orientation='horizontal'] {
+  min-height: 16px;
+  max-height: 16px;
+  min-width: 45px;
+  border-top: 1px solid #a0a0a0;
+}
+
+.lm-ScrollBar[data-orientation='vertical'] {
+  min-width: 16px;
+  max-width: 16px;
+  min-height: 45px;
+  border-left: 1px solid #a0a0a0;
+}
+
+.lm-ScrollBar-button {
+  background-color: #f0f0f0;
+  background-position: center center;
+  min-height: 15px;
+  max-height: 15px;
+  min-width: 15px;
+  max-width: 15px;
+}
+
+.lm-ScrollBar-button:hover {
+  background-color: #dadada;
+}
+
+.lm-ScrollBar-button.lm-mod-active {
+  background-color: #cdcdcd;
+}
+
+.lm-ScrollBar-track {
+  background: #f0f0f0;
+}
+
+.lm-ScrollBar-thumb {
+  background: #cdcdcd;
+}
+
+.lm-ScrollBar-thumb:hover {
+  background: #bababa;
+}
+
+.lm-ScrollBar-thumb.lm-mod-active {
+  background: #a0a0a0;
+}
+
+.lm-ScrollBar[data-orientation='horizontal'] .lm-ScrollBar-thumb {
+  height: 100%;
+  min-width: 15px;
+  border-left: 1px solid #a0a0a0;
+  border-right: 1px solid #a0a0a0;
+}
+
+.lm-ScrollBar[data-orientation='vertical'] .lm-ScrollBar-thumb {
+  width: 100%;
+  min-height: 15px;
+  border-top: 1px solid #a0a0a0;
+  border-bottom: 1px solid #a0a0a0;
+}
+
+.lm-ScrollBar[data-orientation='horizontal']
+  .lm-ScrollBar-button[data-action='decrement'] {
+  background-image: var(--jp-icon-caret-left);
+  background-size: 17px;
+}
+
+.lm-ScrollBar[data-orientation='horizontal']
+  .lm-ScrollBar-button[data-action='increment'] {
+  background-image: var(--jp-icon-caret-right);
+  background-size: 17px;
+}
+
+.lm-ScrollBar[data-orientation='vertical']
+  .lm-ScrollBar-button[data-action='decrement'] {
+  background-image: var(--jp-icon-caret-up);
+  background-size: 17px;
+}
+
+.lm-ScrollBar[data-orientation='vertical']
+  .lm-ScrollBar-button[data-action='increment'] {
+  background-image: var(--jp-icon-caret-down);
+  background-size: 17px;
+}
+
+/*-----------------------------------------------------------------------------
+| Copyright (c) Jupyter Development Team.
+| Copyright (c) 2014-2017, PhosphorJS Contributors
+|
+| Distributed under the terms of the BSD 3-Clause License.
+|
+| The full license is in the file LICENSE, distributed with this software.
+|----------------------------------------------------------------------------*/
+
+
+/* <DEPRECATED> */ .p-Widget, /* </DEPRECATED> */
+.lm-Widget {
+  box-sizing: border-box;
+  position: relative;
+  overflow: hidden;
+  cursor: default;
+}
+
+
+/* <DEPRECATED> */ .p-Widget.p-mod-hidden, /* </DEPRECATED> */
+.lm-Widget.lm-mod-hidden {
+  display: none !important;
+}
+
+/*-----------------------------------------------------------------------------
+| Copyright (c) Jupyter Development Team.
+| Copyright (c) 2014-2017, PhosphorJS Contributors
+|
+| Distributed under the terms of the BSD 3-Clause License.
+|
+| The full license is in the file LICENSE, distributed with this software.
+|----------------------------------------------------------------------------*/
+
+
+/* <DEPRECATED> */ .p-CommandPalette, /* </DEPRECATED> */
+.lm-CommandPalette {
+  display: flex;
+  flex-direction: column;
+  -webkit-user-select: none;
+  -moz-user-select: none;
+  -ms-user-select: none;
+  user-select: none;
+}
+
+
+/* <DEPRECATED> */ .p-CommandPalette-search, /* </DEPRECATED> */
+.lm-CommandPalette-search {
+  flex: 0 0 auto;
+}
+
+
+/* <DEPRECATED> */ .p-CommandPalette-content, /* </DEPRECATED> */
+.lm-CommandPalette-content {
+  flex: 1 1 auto;
+  margin: 0;
+  padding: 0;
+  min-height: 0;
+  overflow: auto;
+  list-style-type: none;
+}
+
+
+/* <DEPRECATED> */ .p-CommandPalette-header, /* </DEPRECATED> */
+.lm-CommandPalette-header {
+  overflow: hidden;
+  white-space: nowrap;
+  text-overflow: ellipsis;
+}
+
+
+/* <DEPRECATED> */ .p-CommandPalette-item, /* </DEPRECATED> */
+.lm-CommandPalette-item {
+  display: flex;
+  flex-direction: row;
+}
+
+
+/* <DEPRECATED> */ .p-CommandPalette-itemIcon, /* </DEPRECATED> */
+.lm-CommandPalette-itemIcon {
+  flex: 0 0 auto;
+}
+
+
+/* <DEPRECATED> */ .p-CommandPalette-itemContent, /* </DEPRECATED> */
+.lm-CommandPalette-itemContent {
+  flex: 1 1 auto;
+  overflow: hidden;
+}
+
+
+/* <DEPRECATED> */ .p-CommandPalette-itemShortcut, /* </DEPRECATED> */
+.lm-CommandPalette-itemShortcut {
+  flex: 0 0 auto;
+}
+
+
+/* <DEPRECATED> */ .p-CommandPalette-itemLabel, /* </DEPRECATED> */
+.lm-CommandPalette-itemLabel {
+  overflow: hidden;
+  white-space: nowrap;
+  text-overflow: ellipsis;
+}
+
+.lm-close-icon {
+	border:1px solid transparent;
+  background-color: transparent;
+  position: absolute;
+	z-index:1;
+	right:3%;
+	top: 0;
+	bottom: 0;
+	margin: auto;
+	padding: 7px 0;
+	display: none;
+	vertical-align: middle;
+  outline: 0;
+  cursor: pointer;
+}
+.lm-close-icon:after {
+	content: "X";
+	display: block;
+	width: 15px;
+	height: 15px;
+	text-align: center;
+	color:#000;
+	font-weight: normal;
+	font-size: 12px;
+	cursor: pointer;
+}
+
+/*-----------------------------------------------------------------------------
+| Copyright (c) Jupyter Development Team.
+| Copyright (c) 2014-2017, PhosphorJS Contributors
+|
+| Distributed under the terms of the BSD 3-Clause License.
+|
+| The full license is in the file LICENSE, distributed with this software.
+|----------------------------------------------------------------------------*/
+
+
+/* <DEPRECATED> */ .p-DockPanel, /* </DEPRECATED> */
+.lm-DockPanel {
+  z-index: 0;
+}
+
+
+/* <DEPRECATED> */ .p-DockPanel-widget, /* </DEPRECATED> */
+.lm-DockPanel-widget {
+  z-index: 0;
+}
+
+
+/* <DEPRECATED> */ .p-DockPanel-tabBar, /* </DEPRECATED> */
+.lm-DockPanel-tabBar {
+  z-index: 1;
+}
+
+
+/* <DEPRECATED> */ .p-DockPanel-handle, /* </DEPRECATED> */
+.lm-DockPanel-handle {
+  z-index: 2;
+}
+
+
+/* <DEPRECATED> */ .p-DockPanel-handle.p-mod-hidden, /* </DEPRECATED> */
+.lm-DockPanel-handle.lm-mod-hidden {
+  display: none !important;
+}
+
+
+/* <DEPRECATED> */ .p-DockPanel-handle:after, /* </DEPRECATED> */
+.lm-DockPanel-handle:after {
+  position: absolute;
+  top: 0;
+  left: 0;
+  width: 100%;
+  height: 100%;
+  content: '';
+}
+
+
+/* <DEPRECATED> */
+.p-DockPanel-handle[data-orientation='horizontal'],
+/* </DEPRECATED> */
+.lm-DockPanel-handle[data-orientation='horizontal'] {
+  cursor: ew-resize;
+}
+
+
+/* <DEPRECATED> */
+.p-DockPanel-handle[data-orientation='vertical'],
+/* </DEPRECATED> */
+.lm-DockPanel-handle[data-orientation='vertical'] {
+  cursor: ns-resize;
+}
+
+
+/* <DEPRECATED> */
+.p-DockPanel-handle[data-orientation='horizontal']:after,
+/* </DEPRECATED> */
+.lm-DockPanel-handle[data-orientation='horizontal']:after {
+  left: 50%;
+  min-width: 8px;
+  transform: translateX(-50%);
+}
+
+
+/* <DEPRECATED> */
+.p-DockPanel-handle[data-orientation='vertical']:after,
+/* </DEPRECATED> */
+.lm-DockPanel-handle[data-orientation='vertical']:after {
+  top: 50%;
+  min-height: 8px;
+  transform: translateY(-50%);
+}
+
+
+/* <DEPRECATED> */ .p-DockPanel-overlay, /* </DEPRECATED> */
+.lm-DockPanel-overlay {
+  z-index: 3;
+  box-sizing: border-box;
+  pointer-events: none;
+}
+
+
+/* <DEPRECATED> */ .p-DockPanel-overlay.p-mod-hidden, /* </DEPRECATED> */
+.lm-DockPanel-overlay.lm-mod-hidden {
+  display: none !important;
+}
+
+/*-----------------------------------------------------------------------------
+| Copyright (c) Jupyter Development Team.
+| Copyright (c) 2014-2017, PhosphorJS Contributors
+|
+| Distributed under the terms of the BSD 3-Clause License.
+|
+| The full license is in the file LICENSE, distributed with this software.
+|----------------------------------------------------------------------------*/
+
+
+/* <DEPRECATED> */ .p-Menu, /* </DEPRECATED> */
+.lm-Menu {
+  z-index: 10000;
+  position: absolute;
+  white-space: nowrap;
+  overflow-x: hidden;
+  overflow-y: auto;
+  outline: none;
+  -webkit-user-select: none;
+  -moz-user-select: none;
+  -ms-user-select: none;
+  user-select: none;
+}
+
+
+/* <DEPRECATED> */ .p-Menu-content, /* </DEPRECATED> */
+.lm-Menu-content {
+  margin: 0;
+  padding: 0;
+  display: table;
+  list-style-type: none;
+}
+
+
+/* <DEPRECATED> */ .p-Menu-item, /* </DEPRECATED> */
+.lm-Menu-item {
+  display: table-row;
+}
+
+
+/* <DEPRECATED> */
+.p-Menu-item.p-mod-hidden,
+.p-Menu-item.p-mod-collapsed,
+/* </DEPRECATED> */
+.lm-Menu-item.lm-mod-hidden,
+.lm-Menu-item.lm-mod-collapsed {
+  display: none !important;
+}
+
+
+/* <DEPRECATED> */
+.p-Menu-itemIcon,
+.p-Menu-itemSubmenuIcon,
+/* </DEPRECATED> */
+.lm-Menu-itemIcon,
+.lm-Menu-itemSubmenuIcon {
+  display: table-cell;
+  text-align: center;
+}
+
+
+/* <DEPRECATED> */ .p-Menu-itemLabel, /* </DEPRECATED> */
+.lm-Menu-itemLabel {
+  display: table-cell;
+  text-align: left;
+}
+
+
+/* <DEPRECATED> */ .p-Menu-itemShortcut, /* </DEPRECATED> */
+.lm-Menu-itemShortcut {
+  display: table-cell;
+  text-align: right;
+}
+
+/*-----------------------------------------------------------------------------
+| Copyright (c) Jupyter Development Team.
+| Copyright (c) 2014-2017, PhosphorJS Contributors
+|
+| Distributed under the terms of the BSD 3-Clause License.
+|
+| The full license is in the file LICENSE, distributed with this software.
+|----------------------------------------------------------------------------*/
+
+
+/* <DEPRECATED> */ .p-MenuBar, /* </DEPRECATED> */
+.lm-MenuBar {
+  outline: none;
+  -webkit-user-select: none;
+  -moz-user-select: none;
+  -ms-user-select: none;
+  user-select: none;
+}
+
+
+/* <DEPRECATED> */ .p-MenuBar-content, /* </DEPRECATED> */
+.lm-MenuBar-content {
+  margin: 0;
+  padding: 0;
+  display: flex;
+  flex-direction: row;
+  list-style-type: none;
+}
+
+
+/* <DEPRECATED> */ .p--MenuBar-item, /* </DEPRECATED> */
+.lm-MenuBar-item {
+  box-sizing: border-box;
+}
+
+
+/* <DEPRECATED> */
+.p-MenuBar-itemIcon,
+.p-MenuBar-itemLabel,
+/* </DEPRECATED> */
+.lm-MenuBar-itemIcon,
+.lm-MenuBar-itemLabel {
+  display: inline-block;
+}
+
+/*-----------------------------------------------------------------------------
+| Copyright (c) Jupyter Development Team.
+| Copyright (c) 2014-2017, PhosphorJS Contributors
+|
+| Distributed under the terms of the BSD 3-Clause License.
+|
+| The full license is in the file LICENSE, distributed with this software.
+|----------------------------------------------------------------------------*/
+
+
+/* <DEPRECATED> */ .p-ScrollBar, /* </DEPRECATED> */
+.lm-ScrollBar {
+  display: flex;
+  -webkit-user-select: none;
+  -moz-user-select: none;
+  -ms-user-select: none;
+  user-select: none;
+}
+
+
+/* <DEPRECATED> */
+.p-ScrollBar[data-orientation='horizontal'],
+/* </DEPRECATED> */
+.lm-ScrollBar[data-orientation='horizontal'] {
+  flex-direction: row;
+}
+
+
+/* <DEPRECATED> */
+.p-ScrollBar[data-orientation='vertical'],
+/* </DEPRECATED> */
+.lm-ScrollBar[data-orientation='vertical'] {
+  flex-direction: column;
+}
+
+
+/* <DEPRECATED> */ .p-ScrollBar-button, /* </DEPRECATED> */
+.lm-ScrollBar-button {
+  box-sizing: border-box;
+  flex: 0 0 auto;
+}
+
+
+/* <DEPRECATED> */ .p-ScrollBar-track, /* </DEPRECATED> */
+.lm-ScrollBar-track {
+  box-sizing: border-box;
+  position: relative;
+  overflow: hidden;
+  flex: 1 1 auto;
+}
+
+
+/* <DEPRECATED> */ .p-ScrollBar-thumb, /* </DEPRECATED> */
+.lm-ScrollBar-thumb {
+  box-sizing: border-box;
+  position: absolute;
+}
+
+/*-----------------------------------------------------------------------------
+| Copyright (c) Jupyter Development Team.
+| Copyright (c) 2014-2017, PhosphorJS Contributors
+|
+| Distributed under the terms of the BSD 3-Clause License.
+|
+| The full license is in the file LICENSE, distributed with this software.
+|----------------------------------------------------------------------------*/
+
+
+/* <DEPRECATED> */ .p-SplitPanel-child, /* </DEPRECATED> */
+.lm-SplitPanel-child {
+  z-index: 0;
+}
+
+
+/* <DEPRECATED> */ .p-SplitPanel-handle, /* </DEPRECATED> */
+.lm-SplitPanel-handle {
+  z-index: 1;
+}
+
+
+/* <DEPRECATED> */ .p-SplitPanel-handle.p-mod-hidden, /* </DEPRECATED> */
+.lm-SplitPanel-handle.lm-mod-hidden {
+  display: none !important;
+}
+
+
+/* <DEPRECATED> */ .p-SplitPanel-handle:after, /* </DEPRECATED> */
+.lm-SplitPanel-handle:after {
+  position: absolute;
+  top: 0;
+  left: 0;
+  width: 100%;
+  height: 100%;
+  content: '';
+}
+
+
+/* <DEPRECATED> */
+.p-SplitPanel[data-orientation='horizontal'] > .p-SplitPanel-handle,
+/* </DEPRECATED> */
+.lm-SplitPanel[data-orientation='horizontal'] > .lm-SplitPanel-handle {
+  cursor: ew-resize;
+}
+
+
+/* <DEPRECATED> */
+.p-SplitPanel[data-orientation='vertical'] > .p-SplitPanel-handle,
+/* </DEPRECATED> */
+.lm-SplitPanel[data-orientation='vertical'] > .lm-SplitPanel-handle {
+  cursor: ns-resize;
+}
+
+
+/* <DEPRECATED> */
+.p-SplitPanel[data-orientation='horizontal'] > .p-SplitPanel-handle:after,
+/* </DEPRECATED> */
+.lm-SplitPanel[data-orientation='horizontal'] > .lm-SplitPanel-handle:after {
+  left: 50%;
+  min-width: 8px;
+  transform: translateX(-50%);
+}
+
+
+/* <DEPRECATED> */
+.p-SplitPanel[data-orientation='vertical'] > .p-SplitPanel-handle:after,
+/* </DEPRECATED> */
+.lm-SplitPanel[data-orientation='vertical'] > .lm-SplitPanel-handle:after {
+  top: 50%;
+  min-height: 8px;
+  transform: translateY(-50%);
+}
+
+/*-----------------------------------------------------------------------------
+| Copyright (c) Jupyter Development Team.
+| Copyright (c) 2014-2017, PhosphorJS Contributors
+|
+| Distributed under the terms of the BSD 3-Clause License.
+|
+| The full license is in the file LICENSE, distributed with this software.
+|----------------------------------------------------------------------------*/
+
+
+/* <DEPRECATED> */ .p-TabBar, /* </DEPRECATED> */
+.lm-TabBar {
+  display: flex;
+  -webkit-user-select: none;
+  -moz-user-select: none;
+  -ms-user-select: none;
+  user-select: none;
+}
+
+
+/* <DEPRECATED> */ .p-TabBar[data-orientation='horizontal'], /* </DEPRECATED> */
+.lm-TabBar[data-orientation='horizontal'] {
+  flex-direction: row;
+}
+
+
+/* <DEPRECATED> */ .p-TabBar[data-orientation='vertical'], /* </DEPRECATED> */
+.lm-TabBar[data-orientation='vertical'] {
+  flex-direction: column;
+}
+
+
+/* <DEPRECATED> */ .p-TabBar-content, /* </DEPRECATED> */
+.lm-TabBar-content {
+  margin: 0;
+  padding: 0;
+  display: flex;
+  flex: 1 1 auto;
+  list-style-type: none;
+}
+
+
+/* <DEPRECATED> */
+.p-TabBar[data-orientation='horizontal'] > .p-TabBar-content,
+/* </DEPRECATED> */
+.lm-TabBar[data-orientation='horizontal'] > .lm-TabBar-content {
+  flex-direction: row;
+}
+
+
+/* <DEPRECATED> */
+.p-TabBar[data-orientation='vertical'] > .p-TabBar-content,
+/* </DEPRECATED> */
+.lm-TabBar[data-orientation='vertical'] > .lm-TabBar-content {
+  flex-direction: column;
+}
+
+
+/* <DEPRECATED> */ .p-TabBar-tab, /* </DEPRECATED> */
+.lm-TabBar-tab {
+  display: flex;
+  flex-direction: row;
+  box-sizing: border-box;
+  overflow: hidden;
+}
+
+
+/* <DEPRECATED> */
+.p-TabBar-tabIcon,
+.p-TabBar-tabCloseIcon,
+/* </DEPRECATED> */
+.lm-TabBar-tabIcon,
+.lm-TabBar-tabCloseIcon {
+  flex: 0 0 auto;
+}
+
+
+/* <DEPRECATED> */ .p-TabBar-tabLabel, /* </DEPRECATED> */
+.lm-TabBar-tabLabel {
+  flex: 1 1 auto;
+  overflow: hidden;
+  white-space: nowrap;
+}
+
+
+.lm-TabBar-tabInput {
+  user-select: all;
+  width: 100%;
+  box-sizing : border-box;
+}
+
+
+/* <DEPRECATED> */ .p-TabBar-tab.p-mod-hidden, /* </DEPRECATED> */
+.lm-TabBar-tab.lm-mod-hidden {
+  display: none !important;
+}
+
+
+/* <DEPRECATED> */ .p-TabBar.p-mod-dragging .p-TabBar-tab, /* </DEPRECATED> */
+.lm-TabBar.lm-mod-dragging .lm-TabBar-tab {
+  position: relative;
+}
+
+
+/* <DEPRECATED> */
+.p-TabBar.p-mod-dragging[data-orientation='horizontal'] .p-TabBar-tab,
+/* </DEPRECATED> */
+.lm-TabBar.lm-mod-dragging[data-orientation='horizontal'] .lm-TabBar-tab {
+  left: 0;
+  transition: left 150ms ease;
+}
+
+
+/* <DEPRECATED> */
+.p-TabBar.p-mod-dragging[data-orientation='vertical'] .p-TabBar-tab,
+/* </DEPRECATED> */
+.lm-TabBar.lm-mod-dragging[data-orientation='vertical'] .lm-TabBar-tab {
+  top: 0;
+  transition: top 150ms ease;
+}
+
+
+/* <DEPRECATED> */
+.p-TabBar.p-mod-dragging .p-TabBar-tab.p-mod-dragging,
+/* </DEPRECATED> */
+.lm-TabBar.lm-mod-dragging .lm-TabBar-tab.lm-mod-dragging {
+  transition: none;
+}
+
+/*-----------------------------------------------------------------------------
+| Copyright (c) Jupyter Development Team.
+| Copyright (c) 2014-2017, PhosphorJS Contributors
+|
+| Distributed under the terms of the BSD 3-Clause License.
+|
+| The full license is in the file LICENSE, distributed with this software.
+|----------------------------------------------------------------------------*/
+
+
+/* <DEPRECATED> */ .p-TabPanel-tabBar, /* </DEPRECATED> */
+.lm-TabPanel-tabBar {
+  z-index: 1;
+}
+
+
+/* <DEPRECATED> */ .p-TabPanel-stackedPanel, /* </DEPRECATED> */
+.lm-TabPanel-stackedPanel {
+  z-index: 0;
+}
+
+/*-----------------------------------------------------------------------------
+| Copyright (c) Jupyter Development Team.
+| Copyright (c) 2014-2017, PhosphorJS Contributors
+|
+| Distributed under the terms of the BSD 3-Clause License.
+|
+| The full license is in the file LICENSE, distributed with this software.
+|----------------------------------------------------------------------------*/
+
+@charset "UTF-8";
+html{
+  -webkit-box-sizing:border-box;
+          box-sizing:border-box; }
+
+*,
+*::before,
+*::after{
+  -webkit-box-sizing:inherit;
+          box-sizing:inherit; }
+
+body{
+  font-size:14px;
+  font-weight:400;
+  letter-spacing:0;
+  line-height:1.28581;
+  text-transform:none;
+  color:#182026;
+  font-family:-apple-system, "BlinkMacSystemFont", "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Open Sans", "Helvetica Neue", "Icons16", sans-serif; }
+
+p{
+  margin-bottom:10px;
+  margin-top:0; }
+
+small{
+  font-size:12px; }
+
+strong{
+  font-weight:600; }
+
+::-moz-selection{
+  background:rgba(125, 188, 255, 0.6); }
+
+::selection{
+  background:rgba(125, 188, 255, 0.6); }
+.bp3-heading{
+  color:#182026;
+  font-weight:600;
+  margin:0 0 10px;
+  padding:0; }
+  .bp3-dark .bp3-heading{
+    color:#f5f8fa; }
+
+h1.bp3-heading, .bp3-running-text h1{
+  font-size:36px;
+  line-height:40px; }
+
+h2.bp3-heading, .bp3-running-text h2{
+  font-size:28px;
+  line-height:32px; }
+
+h3.bp3-heading, .bp3-running-text h3{
+  font-size:22px;
+  line-height:25px; }
+
+h4.bp3-heading, .bp3-running-text h4{
+  font-size:18px;
+  line-height:21px; }
+
+h5.bp3-heading, .bp3-running-text h5{
+  font-size:16px;
+  line-height:19px; }
+
+h6.bp3-heading, .bp3-running-text h6{
+  font-size:14px;
+  line-height:16px; }
+.bp3-ui-text{
+  font-size:14px;
+  font-weight:400;
+  letter-spacing:0;
+  line-height:1.28581;
+  text-transform:none; }
+
+.bp3-monospace-text{
+  font-family:monospace;
+  text-transform:none; }
+
+.bp3-text-muted{
+  color:#5c7080; }
+  .bp3-dark .bp3-text-muted{
+    color:#a7b6c2; }
+
+.bp3-text-disabled{
+  color:rgba(92, 112, 128, 0.6); }
+  .bp3-dark .bp3-text-disabled{
+    color:rgba(167, 182, 194, 0.6); }
+
+.bp3-text-overflow-ellipsis{
+  overflow:hidden;
+  text-overflow:ellipsis;
+  white-space:nowrap;
+  word-wrap:normal; }
+.bp3-running-text{
+  font-size:14px;
+  line-height:1.5; }
+  .bp3-running-text h1{
+    color:#182026;
+    font-weight:600;
+    margin-bottom:20px;
+    margin-top:40px; }
+    .bp3-dark .bp3-running-text h1{
+      color:#f5f8fa; }
+  .bp3-running-text h2{
+    color:#182026;
+    font-weight:600;
+    margin-bottom:20px;
+    margin-top:40px; }
+    .bp3-dark .bp3-running-text h2{
+      color:#f5f8fa; }
+  .bp3-running-text h3{
+    color:#182026;
+    font-weight:600;
+    margin-bottom:20px;
+    margin-top:40px; }
+    .bp3-dark .bp3-running-text h3{
+      color:#f5f8fa; }
+  .bp3-running-text h4{
+    color:#182026;
+    font-weight:600;
+    margin-bottom:20px;
+    margin-top:40px; }
+    .bp3-dark .bp3-running-text h4{
+      color:#f5f8fa; }
+  .bp3-running-text h5{
+    color:#182026;
+    font-weight:600;
+    margin-bottom:20px;
+    margin-top:40px; }
+    .bp3-dark .bp3-running-text h5{
+      color:#f5f8fa; }
+  .bp3-running-text h6{
+    color:#182026;
+    font-weight:600;
+    margin-bottom:20px;
+    margin-top:40px; }
+    .bp3-dark .bp3-running-text h6{
+      color:#f5f8fa; }
+  .bp3-running-text hr{
+    border:none;
+    border-bottom:1px solid rgba(16, 22, 26, 0.15);
+    margin:20px 0; }
+    .bp3-dark .bp3-running-text hr{
+      border-color:rgba(255, 255, 255, 0.15); }
+  .bp3-running-text p{
+    margin:0 0 10px;
+    padding:0; }
+
+.bp3-text-large{
+  font-size:16px; }
+
+.bp3-text-small{
+  font-size:12px; }
+a{
+  color:#106ba3;
+  text-decoration:none; }
+  a:hover{
+    color:#106ba3;
+    cursor:pointer;
+    text-decoration:underline; }
+  a .bp3-icon, a .bp3-icon-standard, a .bp3-icon-large{
+    color:inherit; }
+  a code,
+  .bp3-dark a code{
+    color:inherit; }
+  .bp3-dark a,
+  .bp3-dark a:hover{
+    color:#48aff0; }
+    .bp3-dark a .bp3-icon, .bp3-dark a .bp3-icon-standard, .bp3-dark a .bp3-icon-large,
+    .bp3-dark a:hover .bp3-icon,
+    .bp3-dark a:hover .bp3-icon-standard,
+    .bp3-dark a:hover .bp3-icon-large{
+      color:inherit; }
+.bp3-running-text code, .bp3-code{
+  font-family:monospace;
+  text-transform:none;
+  background:rgba(255, 255, 255, 0.7);
+  border-radius:3px;
+  -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2);
+          box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2);
+  color:#5c7080;
+  font-size:smaller;
+  padding:2px 5px; }
+  .bp3-dark .bp3-running-text code, .bp3-running-text .bp3-dark code, .bp3-dark .bp3-code{
+    background:rgba(16, 22, 26, 0.3);
+    -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4);
+            box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4);
+    color:#a7b6c2; }
+  .bp3-running-text a > code, a > .bp3-code{
+    color:#137cbd; }
+    .bp3-dark .bp3-running-text a > code, .bp3-running-text .bp3-dark a > code, .bp3-dark a > .bp3-code{
+      color:inherit; }
+
+.bp3-running-text pre, .bp3-code-block{
+  font-family:monospace;
+  text-transform:none;
+  background:rgba(255, 255, 255, 0.7);
+  border-radius:3px;
+  -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.15);
+          box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.15);
+  color:#182026;
+  display:block;
+  font-size:13px;
+  line-height:1.4;
+  margin:10px 0;
+  padding:13px 15px 12px;
+  word-break:break-all;
+  word-wrap:break-word; }
+  .bp3-dark .bp3-running-text pre, .bp3-running-text .bp3-dark pre, .bp3-dark .bp3-code-block{
+    background:rgba(16, 22, 26, 0.3);
+    -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4);
+            box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4);
+    color:#f5f8fa; }
+  .bp3-running-text pre > code, .bp3-code-block > code{
+    background:none;
+    -webkit-box-shadow:none;
+            box-shadow:none;
+    color:inherit;
+    font-size:inherit;
+    padding:0; }
+
+.bp3-running-text kbd, .bp3-key{
+  -webkit-box-align:center;
+      -ms-flex-align:center;
+          align-items:center;
+  background:#ffffff;
+  border-radius:3px;
+  -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.2);
+          box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.2);
+  color:#5c7080;
+  display:-webkit-inline-box;
+  display:-ms-inline-flexbox;
+  display:inline-flex;
+  font-family:inherit;
+  font-size:12px;
+  height:24px;
+  -webkit-box-pack:center;
+      -ms-flex-pack:center;
+          justify-content:center;
+  line-height:24px;
+  min-width:24px;
+  padding:3px 6px;
+  vertical-align:middle; }
+  .bp3-running-text kbd .bp3-icon, .bp3-key .bp3-icon, .bp3-running-text kbd .bp3-icon-standard, .bp3-key .bp3-icon-standard, .bp3-running-text kbd .bp3-icon-large, .bp3-key .bp3-icon-large{
+    margin-right:5px; }
+  .bp3-dark .bp3-running-text kbd, .bp3-running-text .bp3-dark kbd, .bp3-dark .bp3-key{
+    background:#394b59;
+    -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.4);
+            box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.4);
+    color:#a7b6c2; }
+.bp3-running-text blockquote, .bp3-blockquote{
+  border-left:solid 4px rgba(167, 182, 194, 0.5);
+  margin:0 0 10px;
+  padding:0 20px; }
+  .bp3-dark .bp3-running-text blockquote, .bp3-running-text .bp3-dark blockquote, .bp3-dark .bp3-blockquote{
+    border-color:rgba(115, 134, 148, 0.5); }
+.bp3-running-text ul,
+.bp3-running-text ol, .bp3-list{
+  margin:10px 0;
+  padding-left:30px; }
+  .bp3-running-text ul li:not(:last-child), .bp3-running-text ol li:not(:last-child), .bp3-list li:not(:last-child){
+    margin-bottom:5px; }
+  .bp3-running-text ul ol, .bp3-running-text ol ol, .bp3-list ol,
+  .bp3-running-text ul ul,
+  .bp3-running-text ol ul,
+  .bp3-list ul{
+    margin-top:5px; }
+
+.bp3-list-unstyled{
+  list-style:none;
+  margin:0;
+  padding:0; }
+  .bp3-list-unstyled li{
+    padding:0; }
+.bp3-rtl{
+  text-align:right; }
+
+.bp3-dark{
+  color:#f5f8fa; }
+
+:focus{
+  outline:rgba(19, 124, 189, 0.6) auto 2px;
+  outline-offset:2px;
+  -moz-outline-radius:6px; }
+
+.bp3-focus-disabled :focus{
+  outline:none !important; }
+  .bp3-focus-disabled :focus ~ .bp3-control-indicator{
+    outline:none !important; }
+
+.bp3-alert{
+  max-width:400px;
+  padding:20px; }
+
+.bp3-alert-body{
+  display:-webkit-box;
+  display:-ms-flexbox;
+  display:flex; }
+  .bp3-alert-body .bp3-icon{
+    font-size:40px;
+    margin-right:20px;
+    margin-top:0; }
+
+.bp3-alert-contents{
+  word-break:break-word; }
+
+.bp3-alert-footer{
+  display:-webkit-box;
+  display:-ms-flexbox;
+  display:flex;
+  -webkit-box-orient:horizontal;
+  -webkit-box-direction:reverse;
+      -ms-flex-direction:row-reverse;
+          flex-direction:row-reverse;
+  margin-top:10px; }
+  .bp3-alert-footer .bp3-button{
+    margin-left:10px; }
+.bp3-breadcrumbs{
+  -webkit-box-align:center;
+      -ms-flex-align:center;
+          align-items:center;
+  cursor:default;
+  display:-webkit-box;
+  display:-ms-flexbox;
+  display:flex;
+  -ms-flex-wrap:wrap;
+      flex-wrap:wrap;
+  height:30px;
+  list-style:none;
+  margin:0;
+  padding:0; }
+  .bp3-breadcrumbs > li{
+    -webkit-box-align:center;
+        -ms-flex-align:center;
+            align-items:center;
+    display:-webkit-box;
+    display:-ms-flexbox;
+    display:flex; }
+    .bp3-breadcrumbs > li::after{
+      background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M10.71 7.29l-4-4a1.003 1.003 0 00-1.42 1.42L8.59 8 5.3 11.29c-.19.18-.3.43-.3.71a1.003 1.003 0 001.71.71l4-4c.18-.18.29-.43.29-.71 0-.28-.11-.53-.29-.71z' fill='%235C7080'/%3e%3c/svg%3e");
+      content:"";
+      display:block;
+      height:16px;
+      margin:0 5px;
+      width:16px; }
+    .bp3-breadcrumbs > li:last-of-type::after{
+      display:none; }
+
+.bp3-breadcrumb,
+.bp3-breadcrumb-current,
+.bp3-breadcrumbs-collapsed{
+  -webkit-box-align:center;
+      -ms-flex-align:center;
+          align-items:center;
+  display:-webkit-inline-box;
+  display:-ms-inline-flexbox;
+  display:inline-flex;
+  font-size:16px; }
+
+.bp3-breadcrumb,
+.bp3-breadcrumbs-collapsed{
+  color:#5c7080; }
+
+.bp3-breadcrumb:hover{
+  text-decoration:none; }
+
+.bp3-breadcrumb.bp3-disabled{
+  color:rgba(92, 112, 128, 0.6);
+  cursor:not-allowed; }
+
+.bp3-breadcrumb .bp3-icon{
+  margin-right:5px; }
+
+.bp3-breadcrumb-current{
+  color:inherit;
+  font-weight:600; }
+  .bp3-breadcrumb-current .bp3-input{
+    font-size:inherit;
+    font-weight:inherit;
+    vertical-align:baseline; }
+
+.bp3-breadcrumbs-collapsed{
+  background:#ced9e0;
+  border:none;
+  border-radius:3px;
+  cursor:pointer;
+  margin-right:2px;
+  padding:1px 5px;
+  vertical-align:text-bottom; }
+  .bp3-breadcrumbs-collapsed::before{
+    background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cg fill='%235C7080'%3e%3ccircle cx='2' cy='8.03' r='2'/%3e%3ccircle cx='14' cy='8.03' r='2'/%3e%3ccircle cx='8' cy='8.03' r='2'/%3e%3c/g%3e%3c/svg%3e") center no-repeat;
+    content:"";
+    display:block;
+    height:16px;
+    width:16px; }
+  .bp3-breadcrumbs-collapsed:hover{
+    background:#bfccd6;
+    color:#182026;
+    text-decoration:none; }
+
+.bp3-dark .bp3-breadcrumb,
+.bp3-dark .bp3-breadcrumbs-collapsed{
+  color:#a7b6c2; }
+
+.bp3-dark .bp3-breadcrumbs > li::after{
+  color:#a7b6c2; }
+
+.bp3-dark .bp3-breadcrumb.bp3-disabled{
+  color:rgba(167, 182, 194, 0.6); }
+
+.bp3-dark .bp3-breadcrumb-current{
+  color:#f5f8fa; }
+
+.bp3-dark .bp3-breadcrumbs-collapsed{
+  background:rgba(16, 22, 26, 0.4); }
+  .bp3-dark .bp3-breadcrumbs-collapsed:hover{
+    background:rgba(16, 22, 26, 0.6);
+    color:#f5f8fa; }
+.bp3-button{
+  display:-webkit-inline-box;
+  display:-ms-inline-flexbox;
+  display:inline-flex;
+  -webkit-box-orient:horizontal;
+  -webkit-box-direction:normal;
+      -ms-flex-direction:row;
+          flex-direction:row;
+  -webkit-box-align:center;
+      -ms-flex-align:center;
+          align-items:center;
+  border:none;
+  border-radius:3px;
+  cursor:pointer;
+  font-size:14px;
+  -webkit-box-pack:center;
+      -ms-flex-pack:center;
+          justify-content:center;
+  padding:5px 10px;
+  text-align:left;
+  vertical-align:middle;
+  min-height:30px;
+  min-width:30px; }
+  .bp3-button > *{
+    -webkit-box-flex:0;
+        -ms-flex-positive:0;
+            flex-grow:0;
+    -ms-flex-negative:0;
+        flex-shrink:0; }
+  .bp3-button > .bp3-fill{
+    -webkit-box-flex:1;
+        -ms-flex-positive:1;
+            flex-grow:1;
+    -ms-flex-negative:1;
+        flex-shrink:1; }
+  .bp3-button::before,
+  .bp3-button > *{
+    margin-right:7px; }
+  .bp3-button:empty::before,
+  .bp3-button > :last-child{
+    margin-right:0; }
+  .bp3-button:empty{
+    padding:0 !important; }
+  .bp3-button:disabled, .bp3-button.bp3-disabled{
+    cursor:not-allowed; }
+  .bp3-button.bp3-fill{
+    display:-webkit-box;
+    display:-ms-flexbox;
+    display:flex;
+    width:100%; }
+  .bp3-button.bp3-align-right,
+  .bp3-align-right .bp3-button{
+    text-align:right; }
+  .bp3-button.bp3-align-left,
+  .bp3-align-left .bp3-button{
+    text-align:left; }
+  .bp3-button:not([class*="bp3-intent-"]){
+    background-color:#f5f8fa;
+    background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.8)), to(rgba(255, 255, 255, 0)));
+    background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0));
+    -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1);
+            box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1);
+    color:#182026; }
+    .bp3-button:not([class*="bp3-intent-"]):hover{
+      background-clip:padding-box;
+      background-color:#ebf1f5;
+      -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1);
+              box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); }
+    .bp3-button:not([class*="bp3-intent-"]):active, .bp3-button:not([class*="bp3-intent-"]).bp3-active{
+      background-color:#d8e1e8;
+      background-image:none;
+      -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 1px 2px rgba(16, 22, 26, 0.2);
+              box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 1px 2px rgba(16, 22, 26, 0.2); }
+    .bp3-button:not([class*="bp3-intent-"]):disabled, .bp3-button:not([class*="bp3-intent-"]).bp3-disabled{
+      background-color:rgba(206, 217, 224, 0.5);
+      background-image:none;
+      -webkit-box-shadow:none;
+              box-shadow:none;
+      color:rgba(92, 112, 128, 0.6);
+      cursor:not-allowed;
+      outline:none; }
+      .bp3-button:not([class*="bp3-intent-"]):disabled.bp3-active, .bp3-button:not([class*="bp3-intent-"]):disabled.bp3-active:hover, .bp3-button:not([class*="bp3-intent-"]).bp3-disabled.bp3-active, .bp3-button:not([class*="bp3-intent-"]).bp3-disabled.bp3-active:hover{
+        background:rgba(206, 217, 224, 0.7); }
+  .bp3-button.bp3-intent-primary{
+    background-color:#137cbd;
+    background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.1)), to(rgba(255, 255, 255, 0)));
+    background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0));
+    -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2);
+            box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2);
+    color:#ffffff; }
+    .bp3-button.bp3-intent-primary:hover, .bp3-button.bp3-intent-primary:active, .bp3-button.bp3-intent-primary.bp3-active{
+      color:#ffffff; }
+    .bp3-button.bp3-intent-primary:hover{
+      background-color:#106ba3;
+      -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2);
+              box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); }
+    .bp3-button.bp3-intent-primary:active, .bp3-button.bp3-intent-primary.bp3-active{
+      background-color:#0e5a8a;
+      background-image:none;
+      -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2);
+              box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2); }
+    .bp3-button.bp3-intent-primary:disabled, .bp3-button.bp3-intent-primary.bp3-disabled{
+      background-color:rgba(19, 124, 189, 0.5);
+      background-image:none;
+      border-color:transparent;
+      -webkit-box-shadow:none;
+              box-shadow:none;
+      color:rgba(255, 255, 255, 0.6); }
+  .bp3-button.bp3-intent-success{
+    background-color:#0f9960;
+    background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.1)), to(rgba(255, 255, 255, 0)));
+    background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0));
+    -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2);
+            box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2);
+    color:#ffffff; }
+    .bp3-button.bp3-intent-success:hover, .bp3-button.bp3-intent-success:active, .bp3-button.bp3-intent-success.bp3-active{
+      color:#ffffff; }
+    .bp3-button.bp3-intent-success:hover{
+      background-color:#0d8050;
+      -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2);
+              box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); }
+    .bp3-button.bp3-intent-success:active, .bp3-button.bp3-intent-success.bp3-active{
+      background-color:#0a6640;
+      background-image:none;
+      -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2);
+              box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2); }
+    .bp3-button.bp3-intent-success:disabled, .bp3-button.bp3-intent-success.bp3-disabled{
+      background-color:rgba(15, 153, 96, 0.5);
+      background-image:none;
+      border-color:transparent;
+      -webkit-box-shadow:none;
+              box-shadow:none;
+      color:rgba(255, 255, 255, 0.6); }
+  .bp3-button.bp3-intent-warning{
+    background-color:#d9822b;
+    background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.1)), to(rgba(255, 255, 255, 0)));
+    background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0));
+    -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2);
+            box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2);
+    color:#ffffff; }
+    .bp3-button.bp3-intent-warning:hover, .bp3-button.bp3-intent-warning:active, .bp3-button.bp3-intent-warning.bp3-active{
+      color:#ffffff; }
+    .bp3-button.bp3-intent-warning:hover{
+      background-color:#bf7326;
+      -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2);
+              box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); }
+    .bp3-button.bp3-intent-warning:active, .bp3-button.bp3-intent-warning.bp3-active{
+      background-color:#a66321;
+      background-image:none;
+      -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2);
+              box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2); }
+    .bp3-button.bp3-intent-warning:disabled, .bp3-button.bp3-intent-warning.bp3-disabled{
+      background-color:rgba(217, 130, 43, 0.5);
+      background-image:none;
+      border-color:transparent;
+      -webkit-box-shadow:none;
+              box-shadow:none;
+      color:rgba(255, 255, 255, 0.6); }
+  .bp3-button.bp3-intent-danger{
+    background-color:#db3737;
+    background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.1)), to(rgba(255, 255, 255, 0)));
+    background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0));
+    -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2);
+            box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2);
+    color:#ffffff; }
+    .bp3-button.bp3-intent-danger:hover, .bp3-button.bp3-intent-danger:active, .bp3-button.bp3-intent-danger.bp3-active{
+      color:#ffffff; }
+    .bp3-button.bp3-intent-danger:hover{
+      background-color:#c23030;
+      -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2);
+              box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); }
+    .bp3-button.bp3-intent-danger:active, .bp3-button.bp3-intent-danger.bp3-active{
+      background-color:#a82a2a;
+      background-image:none;
+      -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2);
+              box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2); }
+    .bp3-button.bp3-intent-danger:disabled, .bp3-button.bp3-intent-danger.bp3-disabled{
+      background-color:rgba(219, 55, 55, 0.5);
+      background-image:none;
+      border-color:transparent;
+      -webkit-box-shadow:none;
+              box-shadow:none;
+      color:rgba(255, 255, 255, 0.6); }
+  .bp3-button[class*="bp3-intent-"] .bp3-button-spinner .bp3-spinner-head{
+    stroke:#ffffff; }
+  .bp3-button.bp3-large,
+  .bp3-large .bp3-button{
+    min-height:40px;
+    min-width:40px;
+    font-size:16px;
+    padding:5px 15px; }
+    .bp3-button.bp3-large::before,
+    .bp3-button.bp3-large > *,
+    .bp3-large .bp3-button::before,
+    .bp3-large .bp3-button > *{
+      margin-right:10px; }
+    .bp3-button.bp3-large:empty::before,
+    .bp3-button.bp3-large > :last-child,
+    .bp3-large .bp3-button:empty::before,
+    .bp3-large .bp3-button > :last-child{
+      margin-right:0; }
+  .bp3-button.bp3-small,
+  .bp3-small .bp3-button{
+    min-height:24px;
+    min-width:24px;
+    padding:0 7px; }
+  .bp3-button.bp3-loading{
+    position:relative; }
+    .bp3-button.bp3-loading[class*="bp3-icon-"]::before{
+      visibility:hidden; }
+    .bp3-button.bp3-loading .bp3-button-spinner{
+      margin:0;
+      position:absolute; }
+    .bp3-button.bp3-loading > :not(.bp3-button-spinner){
+      visibility:hidden; }
+  .bp3-button[class*="bp3-icon-"]::before{
+    font-family:"Icons16", sans-serif;
+    font-size:16px;
+    font-style:normal;
+    font-weight:400;
+    line-height:1;
+    -moz-osx-font-smoothing:grayscale;
+    -webkit-font-smoothing:antialiased;
+    color:#5c7080; }
+  .bp3-button .bp3-icon, .bp3-button .bp3-icon-standard, .bp3-button .bp3-icon-large{
+    color:#5c7080; }
+    .bp3-button .bp3-icon.bp3-align-right, .bp3-button .bp3-icon-standard.bp3-align-right, .bp3-button .bp3-icon-large.bp3-align-right{
+      margin-left:7px; }
+  .bp3-button .bp3-icon:first-child:last-child,
+  .bp3-button .bp3-spinner + .bp3-icon:last-child{
+    margin:0 -7px; }
+  .bp3-dark .bp3-button:not([class*="bp3-intent-"]){
+    background-color:#394b59;
+    background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.05)), to(rgba(255, 255, 255, 0)));
+    background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0));
+    -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4);
+            box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4);
+    color:#f5f8fa; }
+    .bp3-dark .bp3-button:not([class*="bp3-intent-"]):hover, .bp3-dark .bp3-button:not([class*="bp3-intent-"]):active, .bp3-dark .bp3-button:not([class*="bp3-intent-"]).bp3-active{
+      color:#f5f8fa; }
+    .bp3-dark .bp3-button:not([class*="bp3-intent-"]):hover{
+      background-color:#30404d;
+      -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4);
+              box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); }
+    .bp3-dark .bp3-button:not([class*="bp3-intent-"]):active, .bp3-dark .bp3-button:not([class*="bp3-intent-"]).bp3-active{
+      background-color:#202b33;
+      background-image:none;
+      -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.6), inset 0 1px 2px rgba(16, 22, 26, 0.2);
+              box-shadow:0 0 0 1px rgba(16, 22, 26, 0.6), inset 0 1px 2px rgba(16, 22, 26, 0.2); }
+    .bp3-dark .bp3-button:not([class*="bp3-intent-"]):disabled, .bp3-dark .bp3-button:not([class*="bp3-intent-"]).bp3-disabled{
+      background-color:rgba(57, 75, 89, 0.5);
+      background-image:none;
+      -webkit-box-shadow:none;
+              box-shadow:none;
+      color:rgba(167, 182, 194, 0.6); }
+      .bp3-dark .bp3-button:not([class*="bp3-intent-"]):disabled.bp3-active, .bp3-dark .bp3-button:not([class*="bp3-intent-"]).bp3-disabled.bp3-active{
+        background:rgba(57, 75, 89, 0.7); }
+    .bp3-dark .bp3-button:not([class*="bp3-intent-"]) .bp3-button-spinner .bp3-spinner-head{
+      background:rgba(16, 22, 26, 0.5);
+      stroke:#8a9ba8; }
+    .bp3-dark .bp3-button:not([class*="bp3-intent-"])[class*="bp3-icon-"]::before{
+      color:#a7b6c2; }
+    .bp3-dark .bp3-button:not([class*="bp3-intent-"]) .bp3-icon, .bp3-dark .bp3-button:not([class*="bp3-intent-"]) .bp3-icon-standard, .bp3-dark .bp3-button:not([class*="bp3-intent-"]) .bp3-icon-large{
+      color:#a7b6c2; }
+  .bp3-dark .bp3-button[class*="bp3-intent-"]{
+    -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4);
+            box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); }
+    .bp3-dark .bp3-button[class*="bp3-intent-"]:hover{
+      -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4);
+              box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); }
+    .bp3-dark .bp3-button[class*="bp3-intent-"]:active, .bp3-dark .bp3-button[class*="bp3-intent-"].bp3-active{
+      -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2);
+              box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2); }
+    .bp3-dark .bp3-button[class*="bp3-intent-"]:disabled, .bp3-dark .bp3-button[class*="bp3-intent-"].bp3-disabled{
+      background-image:none;
+      -webkit-box-shadow:none;
+              box-shadow:none;
+      color:rgba(255, 255, 255, 0.3); }
+    .bp3-dark .bp3-button[class*="bp3-intent-"] .bp3-button-spinner .bp3-spinner-head{
+      stroke:#8a9ba8; }
+  .bp3-button:disabled::before,
+  .bp3-button:disabled .bp3-icon, .bp3-button:disabled .bp3-icon-standard, .bp3-button:disabled .bp3-icon-large, .bp3-button.bp3-disabled::before,
+  .bp3-button.bp3-disabled .bp3-icon, .bp3-button.bp3-disabled .bp3-icon-standard, .bp3-button.bp3-disabled .bp3-icon-large, .bp3-button[class*="bp3-intent-"]::before,
+  .bp3-button[class*="bp3-intent-"] .bp3-icon, .bp3-button[class*="bp3-intent-"] .bp3-icon-standard, .bp3-button[class*="bp3-intent-"] .bp3-icon-large{
+    color:inherit !important; }
+  .bp3-button.bp3-minimal{
+    background:none;
+    -webkit-box-shadow:none;
+            box-shadow:none; }
+    .bp3-button.bp3-minimal:hover{
+      background:rgba(167, 182, 194, 0.3);
+      -webkit-box-shadow:none;
+              box-shadow:none;
+      color:#182026;
+      text-decoration:none; }
+    .bp3-button.bp3-minimal:active, .bp3-button.bp3-minimal.bp3-active{
+      background:rgba(115, 134, 148, 0.3);
+      -webkit-box-shadow:none;
+              box-shadow:none;
+      color:#182026; }
+    .bp3-button.bp3-minimal:disabled, .bp3-button.bp3-minimal:disabled:hover, .bp3-button.bp3-minimal.bp3-disabled, .bp3-button.bp3-minimal.bp3-disabled:hover{
+      background:none;
+      color:rgba(92, 112, 128, 0.6);
+      cursor:not-allowed; }
+      .bp3-button.bp3-minimal:disabled.bp3-active, .bp3-button.bp3-minimal:disabled:hover.bp3-active, .bp3-button.bp3-minimal.bp3-disabled.bp3-active, .bp3-button.bp3-minimal.bp3-disabled:hover.bp3-active{
+        background:rgba(115, 134, 148, 0.3); }
+    .bp3-dark .bp3-button.bp3-minimal{
+      background:none;
+      -webkit-box-shadow:none;
+              box-shadow:none;
+      color:inherit; }
+      .bp3-dark .bp3-button.bp3-minimal:hover, .bp3-dark .bp3-button.bp3-minimal:active, .bp3-dark .bp3-button.bp3-minimal.bp3-active{
+        background:none;
+        -webkit-box-shadow:none;
+                box-shadow:none; }
+      .bp3-dark .bp3-button.bp3-minimal:hover{
+        background:rgba(138, 155, 168, 0.15); }
+      .bp3-dark .bp3-button.bp3-minimal:active, .bp3-dark .bp3-button.bp3-minimal.bp3-active{
+        background:rgba(138, 155, 168, 0.3);
+        color:#f5f8fa; }
+      .bp3-dark .bp3-button.bp3-minimal:disabled, .bp3-dark .bp3-button.bp3-minimal:disabled:hover, .bp3-dark .bp3-button.bp3-minimal.bp3-disabled, .bp3-dark .bp3-button.bp3-minimal.bp3-disabled:hover{
+        background:none;
+        color:rgba(167, 182, 194, 0.6);
+        cursor:not-allowed; }
+        .bp3-dark .bp3-button.bp3-minimal:disabled.bp3-active, .bp3-dark .bp3-button.bp3-minimal:disabled:hover.bp3-active, .bp3-dark .bp3-button.bp3-minimal.bp3-disabled.bp3-active, .bp3-dark .bp3-button.bp3-minimal.bp3-disabled:hover.bp3-active{
+          background:rgba(138, 155, 168, 0.3); }
+    .bp3-button.bp3-minimal.bp3-intent-primary{
+      color:#106ba3; }
+      .bp3-button.bp3-minimal.bp3-intent-primary:hover, .bp3-button.bp3-minimal.bp3-intent-primary:active, .bp3-button.bp3-minimal.bp3-intent-primary.bp3-active{
+        background:none;
+        -webkit-box-shadow:none;
+                box-shadow:none;
+        color:#106ba3; }
+      .bp3-button.bp3-minimal.bp3-intent-primary:hover{
+        background:rgba(19, 124, 189, 0.15);
+        color:#106ba3; }
+      .bp3-button.bp3-minimal.bp3-intent-primary:active, .bp3-button.bp3-minimal.bp3-intent-primary.bp3-active{
+        background:rgba(19, 124, 189, 0.3);
+        color:#106ba3; }
+      .bp3-button.bp3-minimal.bp3-intent-primary:disabled, .bp3-button.bp3-minimal.bp3-intent-primary.bp3-disabled{
+        background:none;
+        color:rgba(16, 107, 163, 0.5); }
+        .bp3-button.bp3-minimal.bp3-intent-primary:disabled.bp3-active, .bp3-button.bp3-minimal.bp3-intent-primary.bp3-disabled.bp3-active{
+          background:rgba(19, 124, 189, 0.3); }
+      .bp3-button.bp3-minimal.bp3-intent-primary .bp3-button-spinner .bp3-spinner-head{
+        stroke:#106ba3; }
+      .bp3-dark .bp3-button.bp3-minimal.bp3-intent-primary{
+        color:#48aff0; }
+        .bp3-dark .bp3-button.bp3-minimal.bp3-intent-primary:hover{
+          background:rgba(19, 124, 189, 0.2);
+          color:#48aff0; }
+        .bp3-dark .bp3-button.bp3-minimal.bp3-intent-primary:active, .bp3-dark .bp3-button.bp3-minimal.bp3-intent-primary.bp3-active{
+          background:rgba(19, 124, 189, 0.3);
+          color:#48aff0; }
+        .bp3-dark .bp3-button.bp3-minimal.bp3-intent-primary:disabled, .bp3-dark .bp3-button.bp3-minimal.bp3-intent-primary.bp3-disabled{
+          background:none;
+          color:rgba(72, 175, 240, 0.5); }
+          .bp3-dark .bp3-button.bp3-minimal.bp3-intent-primary:disabled.bp3-active, .bp3-dark .bp3-button.bp3-minimal.bp3-intent-primary.bp3-disabled.bp3-active{
+            background:rgba(19, 124, 189, 0.3); }
+    .bp3-button.bp3-minimal.bp3-intent-success{
+      color:#0d8050; }
+      .bp3-button.bp3-minimal.bp3-intent-success:hover, .bp3-button.bp3-minimal.bp3-intent-success:active, .bp3-button.bp3-minimal.bp3-intent-success.bp3-active{
+        background:none;
+        -webkit-box-shadow:none;
+                box-shadow:none;
+        color:#0d8050; }
+      .bp3-button.bp3-minimal.bp3-intent-success:hover{
+        background:rgba(15, 153, 96, 0.15);
+        color:#0d8050; }
+      .bp3-button.bp3-minimal.bp3-intent-success:active, .bp3-button.bp3-minimal.bp3-intent-success.bp3-active{
+        background:rgba(15, 153, 96, 0.3);
+        color:#0d8050; }
+      .bp3-button.bp3-minimal.bp3-intent-success:disabled, .bp3-button.bp3-minimal.bp3-intent-success.bp3-disabled{
+        background:none;
+        color:rgba(13, 128, 80, 0.5); }
+        .bp3-button.bp3-minimal.bp3-intent-success:disabled.bp3-active, .bp3-button.bp3-minimal.bp3-intent-success.bp3-disabled.bp3-active{
+          background:rgba(15, 153, 96, 0.3); }
+      .bp3-button.bp3-minimal.bp3-intent-success .bp3-button-spinner .bp3-spinner-head{
+        stroke:#0d8050; }
+      .bp3-dark .bp3-button.bp3-minimal.bp3-intent-success{
+        color:#3dcc91; }
+        .bp3-dark .bp3-button.bp3-minimal.bp3-intent-success:hover{
+          background:rgba(15, 153, 96, 0.2);
+          color:#3dcc91; }
+        .bp3-dark .bp3-button.bp3-minimal.bp3-intent-success:active, .bp3-dark .bp3-button.bp3-minimal.bp3-intent-success.bp3-active{
+          background:rgba(15, 153, 96, 0.3);
+          color:#3dcc91; }
+        .bp3-dark .bp3-button.bp3-minimal.bp3-intent-success:disabled, .bp3-dark .bp3-button.bp3-minimal.bp3-intent-success.bp3-disabled{
+          background:none;
+          color:rgba(61, 204, 145, 0.5); }
+          .bp3-dark .bp3-button.bp3-minimal.bp3-intent-success:disabled.bp3-active, .bp3-dark .bp3-button.bp3-minimal.bp3-intent-success.bp3-disabled.bp3-active{
+            background:rgba(15, 153, 96, 0.3); }
+    .bp3-button.bp3-minimal.bp3-intent-warning{
+      color:#bf7326; }
+      .bp3-button.bp3-minimal.bp3-intent-warning:hover, .bp3-button.bp3-minimal.bp3-intent-warning:active, .bp3-button.bp3-minimal.bp3-intent-warning.bp3-active{
+        background:none;
+        -webkit-box-shadow:none;
+                box-shadow:none;
+        color:#bf7326; }
+      .bp3-button.bp3-minimal.bp3-intent-warning:hover{
+        background:rgba(217, 130, 43, 0.15);
+        color:#bf7326; }
+      .bp3-button.bp3-minimal.bp3-intent-warning:active, .bp3-button.bp3-minimal.bp3-intent-warning.bp3-active{
+        background:rgba(217, 130, 43, 0.3);
+        color:#bf7326; }
+      .bp3-button.bp3-minimal.bp3-intent-warning:disabled, .bp3-button.bp3-minimal.bp3-intent-warning.bp3-disabled{
+        background:none;
+        color:rgba(191, 115, 38, 0.5); }
+        .bp3-button.bp3-minimal.bp3-intent-warning:disabled.bp3-active, .bp3-button.bp3-minimal.bp3-intent-warning.bp3-disabled.bp3-active{
+          background:rgba(217, 130, 43, 0.3); }
+      .bp3-button.bp3-minimal.bp3-intent-warning .bp3-button-spinner .bp3-spinner-head{
+        stroke:#bf7326; }
+      .bp3-dark .bp3-button.bp3-minimal.bp3-intent-warning{
+        color:#ffb366; }
+        .bp3-dark .bp3-button.bp3-minimal.bp3-intent-warning:hover{
+          background:rgba(217, 130, 43, 0.2);
+          color:#ffb366; }
+        .bp3-dark .bp3-button.bp3-minimal.bp3-intent-warning:active, .bp3-dark .bp3-button.bp3-minimal.bp3-intent-warning.bp3-active{
+          background:rgba(217, 130, 43, 0.3);
+          color:#ffb366; }
+        .bp3-dark .bp3-button.bp3-minimal.bp3-intent-warning:disabled, .bp3-dark .bp3-button.bp3-minimal.bp3-intent-warning.bp3-disabled{
+          background:none;
+          color:rgba(255, 179, 102, 0.5); }
+          .bp3-dark .bp3-button.bp3-minimal.bp3-intent-warning:disabled.bp3-active, .bp3-dark .bp3-button.bp3-minimal.bp3-intent-warning.bp3-disabled.bp3-active{
+            background:rgba(217, 130, 43, 0.3); }
+    .bp3-button.bp3-minimal.bp3-intent-danger{
+      color:#c23030; }
+      .bp3-button.bp3-minimal.bp3-intent-danger:hover, .bp3-button.bp3-minimal.bp3-intent-danger:active, .bp3-button.bp3-minimal.bp3-intent-danger.bp3-active{
+        background:none;
+        -webkit-box-shadow:none;
+                box-shadow:none;
+        color:#c23030; }
+      .bp3-button.bp3-minimal.bp3-intent-danger:hover{
+        background:rgba(219, 55, 55, 0.15);
+        color:#c23030; }
+      .bp3-button.bp3-minimal.bp3-intent-danger:active, .bp3-button.bp3-minimal.bp3-intent-danger.bp3-active{
+        background:rgba(219, 55, 55, 0.3);
+        color:#c23030; }
+      .bp3-button.bp3-minimal.bp3-intent-danger:disabled, .bp3-button.bp3-minimal.bp3-intent-danger.bp3-disabled{
+        background:none;
+        color:rgba(194, 48, 48, 0.5); }
+        .bp3-button.bp3-minimal.bp3-intent-danger:disabled.bp3-active, .bp3-button.bp3-minimal.bp3-intent-danger.bp3-disabled.bp3-active{
+          background:rgba(219, 55, 55, 0.3); }
+      .bp3-button.bp3-minimal.bp3-intent-danger .bp3-button-spinner .bp3-spinner-head{
+        stroke:#c23030; }
+      .bp3-dark .bp3-button.bp3-minimal.bp3-intent-danger{
+        color:#ff7373; }
+        .bp3-dark .bp3-button.bp3-minimal.bp3-intent-danger:hover{
+          background:rgba(219, 55, 55, 0.2);
+          color:#ff7373; }
+        .bp3-dark .bp3-button.bp3-minimal.bp3-intent-danger:active, .bp3-dark .bp3-button.bp3-minimal.bp3-intent-danger.bp3-active{
+          background:rgba(219, 55, 55, 0.3);
+          color:#ff7373; }
+        .bp3-dark .bp3-button.bp3-minimal.bp3-intent-danger:disabled, .bp3-dark .bp3-button.bp3-minimal.bp3-intent-danger.bp3-disabled{
+          background:none;
+          color:rgba(255, 115, 115, 0.5); }
+          .bp3-dark .bp3-button.bp3-minimal.bp3-intent-danger:disabled.bp3-active, .bp3-dark .bp3-button.bp3-minimal.bp3-intent-danger.bp3-disabled.bp3-active{
+            background:rgba(219, 55, 55, 0.3); }
+  .bp3-button.bp3-outlined{
+    background:none;
+    -webkit-box-shadow:none;
+            box-shadow:none;
+    border:1px solid rgba(24, 32, 38, 0.2);
+    -webkit-box-sizing:border-box;
+            box-sizing:border-box; }
+    .bp3-button.bp3-outlined:hover{
+      background:rgba(167, 182, 194, 0.3);
+      -webkit-box-shadow:none;
+              box-shadow:none;
+      color:#182026;
+      text-decoration:none; }
+    .bp3-button.bp3-outlined:active, .bp3-button.bp3-outlined.bp3-active{
+      background:rgba(115, 134, 148, 0.3);
+      -webkit-box-shadow:none;
+              box-shadow:none;
+      color:#182026; }
+    .bp3-button.bp3-outlined:disabled, .bp3-button.bp3-outlined:disabled:hover, .bp3-button.bp3-outlined.bp3-disabled, .bp3-button.bp3-outlined.bp3-disabled:hover{
+      background:none;
+      color:rgba(92, 112, 128, 0.6);
+      cursor:not-allowed; }
+      .bp3-button.bp3-outlined:disabled.bp3-active, .bp3-button.bp3-outlined:disabled:hover.bp3-active, .bp3-button.bp3-outlined.bp3-disabled.bp3-active, .bp3-button.bp3-outlined.bp3-disabled:hover.bp3-active{
+        background:rgba(115, 134, 148, 0.3); }
+    .bp3-dark .bp3-button.bp3-outlined{
+      background:none;
+      -webkit-box-shadow:none;
+              box-shadow:none;
+      color:inherit; }
+      .bp3-dark .bp3-button.bp3-outlined:hover, .bp3-dark .bp3-button.bp3-outlined:active, .bp3-dark .bp3-button.bp3-outlined.bp3-active{
+        background:none;
+        -webkit-box-shadow:none;
+                box-shadow:none; }
+      .bp3-dark .bp3-button.bp3-outlined:hover{
+        background:rgba(138, 155, 168, 0.15); }
+      .bp3-dark .bp3-button.bp3-outlined:active, .bp3-dark .bp3-button.bp3-outlined.bp3-active{
+        background:rgba(138, 155, 168, 0.3);
+        color:#f5f8fa; }
+      .bp3-dark .bp3-button.bp3-outlined:disabled, .bp3-dark .bp3-button.bp3-outlined:disabled:hover, .bp3-dark .bp3-button.bp3-outlined.bp3-disabled, .bp3-dark .bp3-button.bp3-outlined.bp3-disabled:hover{
+        background:none;
+        color:rgba(167, 182, 194, 0.6);
+        cursor:not-allowed; }
+        .bp3-dark .bp3-button.bp3-outlined:disabled.bp3-active, .bp3-dark .bp3-button.bp3-outlined:disabled:hover.bp3-active, .bp3-dark .bp3-button.bp3-outlined.bp3-disabled.bp3-active, .bp3-dark .bp3-button.bp3-outlined.bp3-disabled:hover.bp3-active{
+          background:rgba(138, 155, 168, 0.3); }
+    .bp3-button.bp3-outlined.bp3-intent-primary{
+      color:#106ba3; }
+      .bp3-button.bp3-outlined.bp3-intent-primary:hover, .bp3-button.bp3-outlined.bp3-intent-primary:active, .bp3-button.bp3-outlined.bp3-intent-primary.bp3-active{
+        background:none;
+        -webkit-box-shadow:none;
+                box-shadow:none;
+        color:#106ba3; }
+      .bp3-button.bp3-outlined.bp3-intent-primary:hover{
+        background:rgba(19, 124, 189, 0.15);
+        color:#106ba3; }
+      .bp3-button.bp3-outlined.bp3-intent-primary:active, .bp3-button.bp3-outlined.bp3-intent-primary.bp3-active{
+        background:rgba(19, 124, 189, 0.3);
+        color:#106ba3; }
+      .bp3-button.bp3-outlined.bp3-intent-primary:disabled, .bp3-button.bp3-outlined.bp3-intent-primary.bp3-disabled{
+        background:none;
+        color:rgba(16, 107, 163, 0.5); }
+        .bp3-button.bp3-outlined.bp3-intent-primary:disabled.bp3-active, .bp3-button.bp3-outlined.bp3-intent-primary.bp3-disabled.bp3-active{
+          background:rgba(19, 124, 189, 0.3); }
+      .bp3-button.bp3-outlined.bp3-intent-primary .bp3-button-spinner .bp3-spinner-head{
+        stroke:#106ba3; }
+      .bp3-dark .bp3-button.bp3-outlined.bp3-intent-primary{
+        color:#48aff0; }
+        .bp3-dark .bp3-button.bp3-outlined.bp3-intent-primary:hover{
+          background:rgba(19, 124, 189, 0.2);
+          color:#48aff0; }
+        .bp3-dark .bp3-button.bp3-outlined.bp3-intent-primary:active, .bp3-dark .bp3-button.bp3-outlined.bp3-intent-primary.bp3-active{
+          background:rgba(19, 124, 189, 0.3);
+          color:#48aff0; }
+        .bp3-dark .bp3-button.bp3-outlined.bp3-intent-primary:disabled, .bp3-dark .bp3-button.bp3-outlined.bp3-intent-primary.bp3-disabled{
+          background:none;
+          color:rgba(72, 175, 240, 0.5); }
+          .bp3-dark .bp3-button.bp3-outlined.bp3-intent-primary:disabled.bp3-active, .bp3-dark .bp3-button.bp3-outlined.bp3-intent-primary.bp3-disabled.bp3-active{
+            background:rgba(19, 124, 189, 0.3); }
+    .bp3-button.bp3-outlined.bp3-intent-success{
+      color:#0d8050; }
+      .bp3-button.bp3-outlined.bp3-intent-success:hover, .bp3-button.bp3-outlined.bp3-intent-success:active, .bp3-button.bp3-outlined.bp3-intent-success.bp3-active{
+        background:none;
+        -webkit-box-shadow:none;
+                box-shadow:none;
+        color:#0d8050; }
+      .bp3-button.bp3-outlined.bp3-intent-success:hover{
+        background:rgba(15, 153, 96, 0.15);
+        color:#0d8050; }
+      .bp3-button.bp3-outlined.bp3-intent-success:active, .bp3-button.bp3-outlined.bp3-intent-success.bp3-active{
+        background:rgba(15, 153, 96, 0.3);
+        color:#0d8050; }
+      .bp3-button.bp3-outlined.bp3-intent-success:disabled, .bp3-button.bp3-outlined.bp3-intent-success.bp3-disabled{
+        background:none;
+        color:rgba(13, 128, 80, 0.5); }
+        .bp3-button.bp3-outlined.bp3-intent-success:disabled.bp3-active, .bp3-button.bp3-outlined.bp3-intent-success.bp3-disabled.bp3-active{
+          background:rgba(15, 153, 96, 0.3); }
+      .bp3-button.bp3-outlined.bp3-intent-success .bp3-button-spinner .bp3-spinner-head{
+        stroke:#0d8050; }
+      .bp3-dark .bp3-button.bp3-outlined.bp3-intent-success{
+        color:#3dcc91; }
+        .bp3-dark .bp3-button.bp3-outlined.bp3-intent-success:hover{
+          background:rgba(15, 153, 96, 0.2);
+          color:#3dcc91; }
+        .bp3-dark .bp3-button.bp3-outlined.bp3-intent-success:active, .bp3-dark .bp3-button.bp3-outlined.bp3-intent-success.bp3-active{
+          background:rgba(15, 153, 96, 0.3);
+          color:#3dcc91; }
+        .bp3-dark .bp3-button.bp3-outlined.bp3-intent-success:disabled, .bp3-dark .bp3-button.bp3-outlined.bp3-intent-success.bp3-disabled{
+          background:none;
+          color:rgba(61, 204, 145, 0.5); }
+          .bp3-dark .bp3-button.bp3-outlined.bp3-intent-success:disabled.bp3-active, .bp3-dark .bp3-button.bp3-outlined.bp3-intent-success.bp3-disabled.bp3-active{
+            background:rgba(15, 153, 96, 0.3); }
+    .bp3-button.bp3-outlined.bp3-intent-warning{
+      color:#bf7326; }
+      .bp3-button.bp3-outlined.bp3-intent-warning:hover, .bp3-button.bp3-outlined.bp3-intent-warning:active, .bp3-button.bp3-outlined.bp3-intent-warning.bp3-active{
+        background:none;
+        -webkit-box-shadow:none;
+                box-shadow:none;
+        color:#bf7326; }
+      .bp3-button.bp3-outlined.bp3-intent-warning:hover{
+        background:rgba(217, 130, 43, 0.15);
+        color:#bf7326; }
+      .bp3-button.bp3-outlined.bp3-intent-warning:active, .bp3-button.bp3-outlined.bp3-intent-warning.bp3-active{
+        background:rgba(217, 130, 43, 0.3);
+        color:#bf7326; }
+      .bp3-button.bp3-outlined.bp3-intent-warning:disabled, .bp3-button.bp3-outlined.bp3-intent-warning.bp3-disabled{
+        background:none;
+        color:rgba(191, 115, 38, 0.5); }
+        .bp3-button.bp3-outlined.bp3-intent-warning:disabled.bp3-active, .bp3-button.bp3-outlined.bp3-intent-warning.bp3-disabled.bp3-active{
+          background:rgba(217, 130, 43, 0.3); }
+      .bp3-button.bp3-outlined.bp3-intent-warning .bp3-button-spinner .bp3-spinner-head{
+        stroke:#bf7326; }
+      .bp3-dark .bp3-button.bp3-outlined.bp3-intent-warning{
+        color:#ffb366; }
+        .bp3-dark .bp3-button.bp3-outlined.bp3-intent-warning:hover{
+          background:rgba(217, 130, 43, 0.2);
+          color:#ffb366; }
+        .bp3-dark .bp3-button.bp3-outlined.bp3-intent-warning:active, .bp3-dark .bp3-button.bp3-outlined.bp3-intent-warning.bp3-active{
+          background:rgba(217, 130, 43, 0.3);
+          color:#ffb366; }
+        .bp3-dark .bp3-button.bp3-outlined.bp3-intent-warning:disabled, .bp3-dark .bp3-button.bp3-outlined.bp3-intent-warning.bp3-disabled{
+          background:none;
+          color:rgba(255, 179, 102, 0.5); }
+          .bp3-dark .bp3-button.bp3-outlined.bp3-intent-warning:disabled.bp3-active, .bp3-dark .bp3-button.bp3-outlined.bp3-intent-warning.bp3-disabled.bp3-active{
+            background:rgba(217, 130, 43, 0.3); }
+    .bp3-button.bp3-outlined.bp3-intent-danger{
+      color:#c23030; }
+      .bp3-button.bp3-outlined.bp3-intent-danger:hover, .bp3-button.bp3-outlined.bp3-intent-danger:active, .bp3-button.bp3-outlined.bp3-intent-danger.bp3-active{
+        background:none;
+        -webkit-box-shadow:none;
+                box-shadow:none;
+        color:#c23030; }
+      .bp3-button.bp3-outlined.bp3-intent-danger:hover{
+        background:rgba(219, 55, 55, 0.15);
+        color:#c23030; }
+      .bp3-button.bp3-outlined.bp3-intent-danger:active, .bp3-button.bp3-outlined.bp3-intent-danger.bp3-active{
+        background:rgba(219, 55, 55, 0.3);
+        color:#c23030; }
+      .bp3-button.bp3-outlined.bp3-intent-danger:disabled, .bp3-button.bp3-outlined.bp3-intent-danger.bp3-disabled{
+        background:none;
+        color:rgba(194, 48, 48, 0.5); }
+        .bp3-button.bp3-outlined.bp3-intent-danger:disabled.bp3-active, .bp3-button.bp3-outlined.bp3-intent-danger.bp3-disabled.bp3-active{
+          background:rgba(219, 55, 55, 0.3); }
+      .bp3-button.bp3-outlined.bp3-intent-danger .bp3-button-spinner .bp3-spinner-head{
+        stroke:#c23030; }
+      .bp3-dark .bp3-button.bp3-outlined.bp3-intent-danger{
+        color:#ff7373; }
+        .bp3-dark .bp3-button.bp3-outlined.bp3-intent-danger:hover{
+          background:rgba(219, 55, 55, 0.2);
+          color:#ff7373; }
+        .bp3-dark .bp3-button.bp3-outlined.bp3-intent-danger:active, .bp3-dark .bp3-button.bp3-outlined.bp3-intent-danger.bp3-active{
+          background:rgba(219, 55, 55, 0.3);
+          color:#ff7373; }
+        .bp3-dark .bp3-button.bp3-outlined.bp3-intent-danger:disabled, .bp3-dark .bp3-button.bp3-outlined.bp3-intent-danger.bp3-disabled{
+          background:none;
+          color:rgba(255, 115, 115, 0.5); }
+          .bp3-dark .bp3-button.bp3-outlined.bp3-intent-danger:disabled.bp3-active, .bp3-dark .bp3-button.bp3-outlined.bp3-intent-danger.bp3-disabled.bp3-active{
+            background:rgba(219, 55, 55, 0.3); }
+    .bp3-button.bp3-outlined:disabled, .bp3-button.bp3-outlined.bp3-disabled, .bp3-button.bp3-outlined:disabled:hover, .bp3-button.bp3-outlined.bp3-disabled:hover{
+      border-color:rgba(92, 112, 128, 0.1); }
+    .bp3-dark .bp3-button.bp3-outlined{
+      border-color:rgba(255, 255, 255, 0.4); }
+      .bp3-dark .bp3-button.bp3-outlined:disabled, .bp3-dark .bp3-button.bp3-outlined:disabled:hover, .bp3-dark .bp3-button.bp3-outlined.bp3-disabled, .bp3-dark .bp3-button.bp3-outlined.bp3-disabled:hover{
+        border-color:rgba(255, 255, 255, 0.2); }
+    .bp3-button.bp3-outlined.bp3-intent-primary{
+      border-color:rgba(16, 107, 163, 0.6); }
+      .bp3-button.bp3-outlined.bp3-intent-primary:disabled, .bp3-button.bp3-outlined.bp3-intent-primary.bp3-disabled{
+        border-color:rgba(16, 107, 163, 0.2); }
+      .bp3-dark .bp3-button.bp3-outlined.bp3-intent-primary{
+        border-color:rgba(72, 175, 240, 0.6); }
+        .bp3-dark .bp3-button.bp3-outlined.bp3-intent-primary:disabled, .bp3-dark .bp3-button.bp3-outlined.bp3-intent-primary.bp3-disabled{
+          border-color:rgba(72, 175, 240, 0.2); }
+    .bp3-button.bp3-outlined.bp3-intent-success{
+      border-color:rgba(13, 128, 80, 0.6); }
+      .bp3-button.bp3-outlined.bp3-intent-success:disabled, .bp3-button.bp3-outlined.bp3-intent-success.bp3-disabled{
+        border-color:rgba(13, 128, 80, 0.2); }
+      .bp3-dark .bp3-button.bp3-outlined.bp3-intent-success{
+        border-color:rgba(61, 204, 145, 0.6); }
+        .bp3-dark .bp3-button.bp3-outlined.bp3-intent-success:disabled, .bp3-dark .bp3-button.bp3-outlined.bp3-intent-success.bp3-disabled{
+          border-color:rgba(61, 204, 145, 0.2); }
+    .bp3-button.bp3-outlined.bp3-intent-warning{
+      border-color:rgba(191, 115, 38, 0.6); }
+      .bp3-button.bp3-outlined.bp3-intent-warning:disabled, .bp3-button.bp3-outlined.bp3-intent-warning.bp3-disabled{
+        border-color:rgba(191, 115, 38, 0.2); }
+      .bp3-dark .bp3-button.bp3-outlined.bp3-intent-warning{
+        border-color:rgba(255, 179, 102, 0.6); }
+        .bp3-dark .bp3-button.bp3-outlined.bp3-intent-warning:disabled, .bp3-dark .bp3-button.bp3-outlined.bp3-intent-warning.bp3-disabled{
+          border-color:rgba(255, 179, 102, 0.2); }
+    .bp3-button.bp3-outlined.bp3-intent-danger{
+      border-color:rgba(194, 48, 48, 0.6); }
+      .bp3-button.bp3-outlined.bp3-intent-danger:disabled, .bp3-button.bp3-outlined.bp3-intent-danger.bp3-disabled{
+        border-color:rgba(194, 48, 48, 0.2); }
+      .bp3-dark .bp3-button.bp3-outlined.bp3-intent-danger{
+        border-color:rgba(255, 115, 115, 0.6); }
+        .bp3-dark .bp3-button.bp3-outlined.bp3-intent-danger:disabled, .bp3-dark .bp3-button.bp3-outlined.bp3-intent-danger.bp3-disabled{
+          border-color:rgba(255, 115, 115, 0.2); }
+
+a.bp3-button{
+  text-align:center;
+  text-decoration:none;
+  -webkit-transition:none;
+  transition:none; }
+  a.bp3-button, a.bp3-button:hover, a.bp3-button:active{
+    color:#182026; }
+  a.bp3-button.bp3-disabled{
+    color:rgba(92, 112, 128, 0.6); }
+
+.bp3-button-text{
+  -webkit-box-flex:0;
+      -ms-flex:0 1 auto;
+          flex:0 1 auto; }
+
+.bp3-button.bp3-align-left .bp3-button-text, .bp3-button.bp3-align-right .bp3-button-text,
+.bp3-button-group.bp3-align-left .bp3-button-text,
+.bp3-button-group.bp3-align-right .bp3-button-text{
+  -webkit-box-flex:1;
+      -ms-flex:1 1 auto;
+          flex:1 1 auto; }
+.bp3-button-group{
+  display:-webkit-inline-box;
+  display:-ms-inline-flexbox;
+  display:inline-flex; }
+  .bp3-button-group .bp3-button{
+    -webkit-box-flex:0;
+        -ms-flex:0 0 auto;
+            flex:0 0 auto;
+    position:relative;
+    z-index:4; }
+    .bp3-button-group .bp3-button:focus{
+      z-index:5; }
+    .bp3-button-group .bp3-button:hover{
+      z-index:6; }
+    .bp3-button-group .bp3-button:active, .bp3-button-group .bp3-button.bp3-active{
+      z-index:7; }
+    .bp3-button-group .bp3-button:disabled, .bp3-button-group .bp3-button.bp3-disabled{
+      z-index:3; }
+    .bp3-button-group .bp3-button[class*="bp3-intent-"]{
+      z-index:9; }
+      .bp3-button-group .bp3-button[class*="bp3-intent-"]:focus{
+        z-index:10; }
+      .bp3-button-group .bp3-button[class*="bp3-intent-"]:hover{
+        z-index:11; }
+      .bp3-button-group .bp3-button[class*="bp3-intent-"]:active, .bp3-button-group .bp3-button[class*="bp3-intent-"].bp3-active{
+        z-index:12; }
+      .bp3-button-group .bp3-button[class*="bp3-intent-"]:disabled, .bp3-button-group .bp3-button[class*="bp3-intent-"].bp3-disabled{
+        z-index:8; }
+  .bp3-button-group:not(.bp3-minimal) > .bp3-popover-wrapper:not(:first-child) .bp3-button,
+  .bp3-button-group:not(.bp3-minimal) > .bp3-button:not(:first-child){
+    border-bottom-left-radius:0;
+    border-top-left-radius:0; }
+  .bp3-button-group:not(.bp3-minimal) > .bp3-popover-wrapper:not(:last-child) .bp3-button,
+  .bp3-button-group:not(.bp3-minimal) > .bp3-button:not(:last-child){
+    border-bottom-right-radius:0;
+    border-top-right-radius:0;
+    margin-right:-1px; }
+  .bp3-button-group.bp3-minimal .bp3-button{
+    background:none;
+    -webkit-box-shadow:none;
+            box-shadow:none; }
+    .bp3-button-group.bp3-minimal .bp3-button:hover{
+      background:rgba(167, 182, 194, 0.3);
+      -webkit-box-shadow:none;
+              box-shadow:none;
+      color:#182026;
+      text-decoration:none; }
+    .bp3-button-group.bp3-minimal .bp3-button:active, .bp3-button-group.bp3-minimal .bp3-button.bp3-active{
+      background:rgba(115, 134, 148, 0.3);
+      -webkit-box-shadow:none;
+              box-shadow:none;
+      color:#182026; }
+    .bp3-button-group.bp3-minimal .bp3-button:disabled, .bp3-button-group.bp3-minimal .bp3-button:disabled:hover, .bp3-button-group.bp3-minimal .bp3-button.bp3-disabled, .bp3-button-group.bp3-minimal .bp3-button.bp3-disabled:hover{
+      background:none;
+      color:rgba(92, 112, 128, 0.6);
+      cursor:not-allowed; }
+      .bp3-button-group.bp3-minimal .bp3-button:disabled.bp3-active, .bp3-button-group.bp3-minimal .bp3-button:disabled:hover.bp3-active, .bp3-button-group.bp3-minimal .bp3-button.bp3-disabled.bp3-active, .bp3-button-group.bp3-minimal .bp3-button.bp3-disabled:hover.bp3-active{
+        background:rgba(115, 134, 148, 0.3); }
+    .bp3-dark .bp3-button-group.bp3-minimal .bp3-button{
+      background:none;
+      -webkit-box-shadow:none;
+              box-shadow:none;
+      color:inherit; }
+      .bp3-dark .bp3-button-group.bp3-minimal .bp3-button:hover, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button:active, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-active{
+        background:none;
+        -webkit-box-shadow:none;
+                box-shadow:none; }
+      .bp3-dark .bp3-button-group.bp3-minimal .bp3-button:hover{
+        background:rgba(138, 155, 168, 0.15); }
+      .bp3-dark .bp3-button-group.bp3-minimal .bp3-button:active, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-active{
+        background:rgba(138, 155, 168, 0.3);
+        color:#f5f8fa; }
+      .bp3-dark .bp3-button-group.bp3-minimal .bp3-button:disabled, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button:disabled:hover, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-disabled, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-disabled:hover{
+        background:none;
+        color:rgba(167, 182, 194, 0.6);
+        cursor:not-allowed; }
+        .bp3-dark .bp3-button-group.bp3-minimal .bp3-button:disabled.bp3-active, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button:disabled:hover.bp3-active, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-disabled.bp3-active, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-disabled:hover.bp3-active{
+          background:rgba(138, 155, 168, 0.3); }
+    .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary{
+      color:#106ba3; }
+      .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary:hover, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary:active, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary.bp3-active{
+        background:none;
+        -webkit-box-shadow:none;
+                box-shadow:none;
+        color:#106ba3; }
+      .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary:hover{
+        background:rgba(19, 124, 189, 0.15);
+        color:#106ba3; }
+      .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary:active, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary.bp3-active{
+        background:rgba(19, 124, 189, 0.3);
+        color:#106ba3; }
+      .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary:disabled, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary.bp3-disabled{
+        background:none;
+        color:rgba(16, 107, 163, 0.5); }
+        .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary:disabled.bp3-active, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary.bp3-disabled.bp3-active{
+          background:rgba(19, 124, 189, 0.3); }
+      .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary .bp3-button-spinner .bp3-spinner-head{
+        stroke:#106ba3; }
+      .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary{
+        color:#48aff0; }
+        .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary:hover{
+          background:rgba(19, 124, 189, 0.2);
+          color:#48aff0; }
+        .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary:active, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary.bp3-active{
+          background:rgba(19, 124, 189, 0.3);
+          color:#48aff0; }
+        .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary:disabled, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary.bp3-disabled{
+          background:none;
+          color:rgba(72, 175, 240, 0.5); }
+          .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary:disabled.bp3-active, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary.bp3-disabled.bp3-active{
+            background:rgba(19, 124, 189, 0.3); }
+    .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success{
+      color:#0d8050; }
+      .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success:hover, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success:active, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success.bp3-active{
+        background:none;
+        -webkit-box-shadow:none;
+                box-shadow:none;
+        color:#0d8050; }
+      .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success:hover{
+        background:rgba(15, 153, 96, 0.15);
+        color:#0d8050; }
+      .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success:active, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success.bp3-active{
+        background:rgba(15, 153, 96, 0.3);
+        color:#0d8050; }
+      .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success:disabled, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success.bp3-disabled{
+        background:none;
+        color:rgba(13, 128, 80, 0.5); }
+        .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success:disabled.bp3-active, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success.bp3-disabled.bp3-active{
+          background:rgba(15, 153, 96, 0.3); }
+      .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success .bp3-button-spinner .bp3-spinner-head{
+        stroke:#0d8050; }
+      .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success{
+        color:#3dcc91; }
+        .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success:hover{
+          background:rgba(15, 153, 96, 0.2);
+          color:#3dcc91; }
+        .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success:active, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success.bp3-active{
+          background:rgba(15, 153, 96, 0.3);
+          color:#3dcc91; }
+        .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success:disabled, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success.bp3-disabled{
+          background:none;
+          color:rgba(61, 204, 145, 0.5); }
+          .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success:disabled.bp3-active, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success.bp3-disabled.bp3-active{
+            background:rgba(15, 153, 96, 0.3); }
+    .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning{
+      color:#bf7326; }
+      .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning:hover, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning:active, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning.bp3-active{
+        background:none;
+        -webkit-box-shadow:none;
+                box-shadow:none;
+        color:#bf7326; }
+      .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning:hover{
+        background:rgba(217, 130, 43, 0.15);
+        color:#bf7326; }
+      .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning:active, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning.bp3-active{
+        background:rgba(217, 130, 43, 0.3);
+        color:#bf7326; }
+      .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning:disabled, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning.bp3-disabled{
+        background:none;
+        color:rgba(191, 115, 38, 0.5); }
+        .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning:disabled.bp3-active, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning.bp3-disabled.bp3-active{
+          background:rgba(217, 130, 43, 0.3); }
+      .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning .bp3-button-spinner .bp3-spinner-head{
+        stroke:#bf7326; }
+      .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning{
+        color:#ffb366; }
+        .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning:hover{
+          background:rgba(217, 130, 43, 0.2);
+          color:#ffb366; }
+        .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning:active, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning.bp3-active{
+          background:rgba(217, 130, 43, 0.3);
+          color:#ffb366; }
+        .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning:disabled, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning.bp3-disabled{
+          background:none;
+          color:rgba(255, 179, 102, 0.5); }
+          .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning:disabled.bp3-active, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning.bp3-disabled.bp3-active{
+            background:rgba(217, 130, 43, 0.3); }
+    .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger{
+      color:#c23030; }
+      .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger:hover, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger:active, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger.bp3-active{
+        background:none;
+        -webkit-box-shadow:none;
+                box-shadow:none;
+        color:#c23030; }
+      .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger:hover{
+        background:rgba(219, 55, 55, 0.15);
+        color:#c23030; }
+      .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger:active, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger.bp3-active{
+        background:rgba(219, 55, 55, 0.3);
+        color:#c23030; }
+      .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger:disabled, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger.bp3-disabled{
+        background:none;
+        color:rgba(194, 48, 48, 0.5); }
+        .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger:disabled.bp3-active, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger.bp3-disabled.bp3-active{
+          background:rgba(219, 55, 55, 0.3); }
+      .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger .bp3-button-spinner .bp3-spinner-head{
+        stroke:#c23030; }
+      .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger{
+        color:#ff7373; }
+        .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger:hover{
+          background:rgba(219, 55, 55, 0.2);
+          color:#ff7373; }
+        .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger:active, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger.bp3-active{
+          background:rgba(219, 55, 55, 0.3);
+          color:#ff7373; }
+        .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger:disabled, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger.bp3-disabled{
+          background:none;
+          color:rgba(255, 115, 115, 0.5); }
+          .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger:disabled.bp3-active, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger.bp3-disabled.bp3-active{
+            background:rgba(219, 55, 55, 0.3); }
+  .bp3-button-group .bp3-popover-wrapper,
+  .bp3-button-group .bp3-popover-target{
+    display:-webkit-box;
+    display:-ms-flexbox;
+    display:flex;
+    -webkit-box-flex:1;
+        -ms-flex:1 1 auto;
+            flex:1 1 auto; }
+  .bp3-button-group.bp3-fill{
+    display:-webkit-box;
+    display:-ms-flexbox;
+    display:flex;
+    width:100%; }
+  .bp3-button-group .bp3-button.bp3-fill,
+  .bp3-button-group.bp3-fill .bp3-button:not(.bp3-fixed){
+    -webkit-box-flex:1;
+        -ms-flex:1 1 auto;
+            flex:1 1 auto; }
+  .bp3-button-group.bp3-vertical{
+    -webkit-box-align:stretch;
+        -ms-flex-align:stretch;
+            align-items:stretch;
+    -webkit-box-orient:vertical;
+    -webkit-box-direction:normal;
+        -ms-flex-direction:column;
+            flex-direction:column;
+    vertical-align:top; }
+    .bp3-button-group.bp3-vertical.bp3-fill{
+      height:100%;
+      width:unset; }
+    .bp3-button-group.bp3-vertical .bp3-button{
+      margin-right:0 !important;
+      width:100%; }
+    .bp3-button-group.bp3-vertical:not(.bp3-minimal) > .bp3-popover-wrapper:first-child .bp3-button,
+    .bp3-button-group.bp3-vertical:not(.bp3-minimal) > .bp3-button:first-child{
+      border-radius:3px 3px 0 0; }
+    .bp3-button-group.bp3-vertical:not(.bp3-minimal) > .bp3-popover-wrapper:last-child .bp3-button,
+    .bp3-button-group.bp3-vertical:not(.bp3-minimal) > .bp3-button:last-child{
+      border-radius:0 0 3px 3px; }
+    .bp3-button-group.bp3-vertical:not(.bp3-minimal) > .bp3-popover-wrapper:not(:last-child) .bp3-button,
+    .bp3-button-group.bp3-vertical:not(.bp3-minimal) > .bp3-button:not(:last-child){
+      margin-bottom:-1px; }
+  .bp3-button-group.bp3-align-left .bp3-button{
+    text-align:left; }
+  .bp3-dark .bp3-button-group:not(.bp3-minimal) > .bp3-popover-wrapper:not(:last-child) .bp3-button,
+  .bp3-dark .bp3-button-group:not(.bp3-minimal) > .bp3-button:not(:last-child){
+    margin-right:1px; }
+  .bp3-dark .bp3-button-group.bp3-vertical > .bp3-popover-wrapper:not(:last-child) .bp3-button,
+  .bp3-dark .bp3-button-group.bp3-vertical > .bp3-button:not(:last-child){
+    margin-bottom:1px; }
+.bp3-callout{
+  font-size:14px;
+  line-height:1.5;
+  background-color:rgba(138, 155, 168, 0.15);
+  border-radius:3px;
+  padding:10px 12px 9px;
+  position:relative;
+  width:100%; }
+  .bp3-callout[class*="bp3-icon-"]{
+    padding-left:40px; }
+    .bp3-callout[class*="bp3-icon-"]::before{
+      font-family:"Icons20", sans-serif;
+      font-size:20px;
+      font-style:normal;
+      font-weight:400;
+      line-height:1;
+      -moz-osx-font-smoothing:grayscale;
+      -webkit-font-smoothing:antialiased;
+      color:#5c7080;
+      left:10px;
+      position:absolute;
+      top:10px; }
+  .bp3-callout.bp3-callout-icon{
+    padding-left:40px; }
+    .bp3-callout.bp3-callout-icon > .bp3-icon:first-child{
+      color:#5c7080;
+      left:10px;
+      position:absolute;
+      top:10px; }
+  .bp3-callout .bp3-heading{
+    line-height:20px;
+    margin-bottom:5px;
+    margin-top:0; }
+    .bp3-callout .bp3-heading:last-child{
+      margin-bottom:0; }
+  .bp3-dark .bp3-callout{
+    background-color:rgba(138, 155, 168, 0.2); }
+    .bp3-dark .bp3-callout[class*="bp3-icon-"]::before{
+      color:#a7b6c2; }
+  .bp3-callout.bp3-intent-primary{
+    background-color:rgba(19, 124, 189, 0.15); }
+    .bp3-callout.bp3-intent-primary[class*="bp3-icon-"]::before,
+    .bp3-callout.bp3-intent-primary > .bp3-icon:first-child,
+    .bp3-callout.bp3-intent-primary .bp3-heading{
+      color:#106ba3; }
+    .bp3-dark .bp3-callout.bp3-intent-primary{
+      background-color:rgba(19, 124, 189, 0.25); }
+      .bp3-dark .bp3-callout.bp3-intent-primary[class*="bp3-icon-"]::before,
+      .bp3-dark .bp3-callout.bp3-intent-primary > .bp3-icon:first-child,
+      .bp3-dark .bp3-callout.bp3-intent-primary .bp3-heading{
+        color:#48aff0; }
+  .bp3-callout.bp3-intent-success{
+    background-color:rgba(15, 153, 96, 0.15); }
+    .bp3-callout.bp3-intent-success[class*="bp3-icon-"]::before,
+    .bp3-callout.bp3-intent-success > .bp3-icon:first-child,
+    .bp3-callout.bp3-intent-success .bp3-heading{
+      color:#0d8050; }
+    .bp3-dark .bp3-callout.bp3-intent-success{
+      background-color:rgba(15, 153, 96, 0.25); }
+      .bp3-dark .bp3-callout.bp3-intent-success[class*="bp3-icon-"]::before,
+      .bp3-dark .bp3-callout.bp3-intent-success > .bp3-icon:first-child,
+      .bp3-dark .bp3-callout.bp3-intent-success .bp3-heading{
+        color:#3dcc91; }
+  .bp3-callout.bp3-intent-warning{
+    background-color:rgba(217, 130, 43, 0.15); }
+    .bp3-callout.bp3-intent-warning[class*="bp3-icon-"]::before,
+    .bp3-callout.bp3-intent-warning > .bp3-icon:first-child,
+    .bp3-callout.bp3-intent-warning .bp3-heading{
+      color:#bf7326; }
+    .bp3-dark .bp3-callout.bp3-intent-warning{
+      background-color:rgba(217, 130, 43, 0.25); }
+      .bp3-dark .bp3-callout.bp3-intent-warning[class*="bp3-icon-"]::before,
+      .bp3-dark .bp3-callout.bp3-intent-warning > .bp3-icon:first-child,
+      .bp3-dark .bp3-callout.bp3-intent-warning .bp3-heading{
+        color:#ffb366; }
+  .bp3-callout.bp3-intent-danger{
+    background-color:rgba(219, 55, 55, 0.15); }
+    .bp3-callout.bp3-intent-danger[class*="bp3-icon-"]::before,
+    .bp3-callout.bp3-intent-danger > .bp3-icon:first-child,
+    .bp3-callout.bp3-intent-danger .bp3-heading{
+      color:#c23030; }
+    .bp3-dark .bp3-callout.bp3-intent-danger{
+      background-color:rgba(219, 55, 55, 0.25); }
+      .bp3-dark .bp3-callout.bp3-intent-danger[class*="bp3-icon-"]::before,
+      .bp3-dark .bp3-callout.bp3-intent-danger > .bp3-icon:first-child,
+      .bp3-dark .bp3-callout.bp3-intent-danger .bp3-heading{
+        color:#ff7373; }
+  .bp3-running-text .bp3-callout{
+    margin:20px 0; }
+.bp3-card{
+  background-color:#ffffff;
+  border-radius:3px;
+  -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.15), 0 0 0 rgba(16, 22, 26, 0), 0 0 0 rgba(16, 22, 26, 0);
+          box-shadow:0 0 0 1px rgba(16, 22, 26, 0.15), 0 0 0 rgba(16, 22, 26, 0), 0 0 0 rgba(16, 22, 26, 0);
+  padding:20px;
+  -webkit-transition:-webkit-transform 200ms cubic-bezier(0.4, 1, 0.75, 0.9), -webkit-box-shadow 200ms cubic-bezier(0.4, 1, 0.75, 0.9);
+  transition:-webkit-transform 200ms cubic-bezier(0.4, 1, 0.75, 0.9), -webkit-box-shadow 200ms cubic-bezier(0.4, 1, 0.75, 0.9);
+  transition:transform 200ms cubic-bezier(0.4, 1, 0.75, 0.9), box-shadow 200ms cubic-bezier(0.4, 1, 0.75, 0.9);
+  transition:transform 200ms cubic-bezier(0.4, 1, 0.75, 0.9), box-shadow 200ms cubic-bezier(0.4, 1, 0.75, 0.9), -webkit-transform 200ms cubic-bezier(0.4, 1, 0.75, 0.9), -webkit-box-shadow 200ms cubic-bezier(0.4, 1, 0.75, 0.9); }
+  .bp3-card.bp3-dark,
+  .bp3-dark .bp3-card{
+    background-color:#30404d;
+    -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4), 0 0 0 rgba(16, 22, 26, 0), 0 0 0 rgba(16, 22, 26, 0);
+            box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4), 0 0 0 rgba(16, 22, 26, 0), 0 0 0 rgba(16, 22, 26, 0); }
+
+.bp3-elevation-0{
+  -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.15), 0 0 0 rgba(16, 22, 26, 0), 0 0 0 rgba(16, 22, 26, 0);
+          box-shadow:0 0 0 1px rgba(16, 22, 26, 0.15), 0 0 0 rgba(16, 22, 26, 0), 0 0 0 rgba(16, 22, 26, 0); }
+  .bp3-elevation-0.bp3-dark,
+  .bp3-dark .bp3-elevation-0{
+    -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4), 0 0 0 rgba(16, 22, 26, 0), 0 0 0 rgba(16, 22, 26, 0);
+            box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4), 0 0 0 rgba(16, 22, 26, 0), 0 0 0 rgba(16, 22, 26, 0); }
+
+.bp3-elevation-1{
+  -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.2);
+          box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.2); }
+  .bp3-elevation-1.bp3-dark,
+  .bp3-dark .bp3-elevation-1{
+    -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.4);
+            box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.4); }
+
+.bp3-elevation-2{
+  -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 1px 1px rgba(16, 22, 26, 0.2), 0 2px 6px rgba(16, 22, 26, 0.2);
+          box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 1px 1px rgba(16, 22, 26, 0.2), 0 2px 6px rgba(16, 22, 26, 0.2); }
+  .bp3-elevation-2.bp3-dark,
+  .bp3-dark .bp3-elevation-2{
+    -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 1px 1px rgba(16, 22, 26, 0.4), 0 2px 6px rgba(16, 22, 26, 0.4);
+            box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 1px 1px rgba(16, 22, 26, 0.4), 0 2px 6px rgba(16, 22, 26, 0.4); }
+
+.bp3-elevation-3{
+  -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 2px 4px rgba(16, 22, 26, 0.2), 0 8px 24px rgba(16, 22, 26, 0.2);
+          box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 2px 4px rgba(16, 22, 26, 0.2), 0 8px 24px rgba(16, 22, 26, 0.2); }
+  .bp3-elevation-3.bp3-dark,
+  .bp3-dark .bp3-elevation-3{
+    -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 2px 4px rgba(16, 22, 26, 0.4), 0 8px 24px rgba(16, 22, 26, 0.4);
+            box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 2px 4px rgba(16, 22, 26, 0.4), 0 8px 24px rgba(16, 22, 26, 0.4); }
+
+.bp3-elevation-4{
+  -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 4px 8px rgba(16, 22, 26, 0.2), 0 18px 46px 6px rgba(16, 22, 26, 0.2);
+          box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 4px 8px rgba(16, 22, 26, 0.2), 0 18px 46px 6px rgba(16, 22, 26, 0.2); }
+  .bp3-elevation-4.bp3-dark,
+  .bp3-dark .bp3-elevation-4{
+    -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 4px 8px rgba(16, 22, 26, 0.4), 0 18px 46px 6px rgba(16, 22, 26, 0.4);
+            box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 4px 8px rgba(16, 22, 26, 0.4), 0 18px 46px 6px rgba(16, 22, 26, 0.4); }
+
+.bp3-card.bp3-interactive:hover{
+  -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 2px 4px rgba(16, 22, 26, 0.2), 0 8px 24px rgba(16, 22, 26, 0.2);
+          box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 2px 4px rgba(16, 22, 26, 0.2), 0 8px 24px rgba(16, 22, 26, 0.2);
+  cursor:pointer; }
+  .bp3-card.bp3-interactive:hover.bp3-dark,
+  .bp3-dark .bp3-card.bp3-interactive:hover{
+    -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 2px 4px rgba(16, 22, 26, 0.4), 0 8px 24px rgba(16, 22, 26, 0.4);
+            box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 2px 4px rgba(16, 22, 26, 0.4), 0 8px 24px rgba(16, 22, 26, 0.4); }
+
+.bp3-card.bp3-interactive:active{
+  -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.2);
+          box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.2);
+  opacity:0.9;
+  -webkit-transition-duration:0;
+          transition-duration:0; }
+  .bp3-card.bp3-interactive:active.bp3-dark,
+  .bp3-dark .bp3-card.bp3-interactive:active{
+    -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.4);
+            box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.4); }
+
+.bp3-collapse{
+  height:0;
+  overflow-y:hidden;
+  -webkit-transition:height 200ms cubic-bezier(0.4, 1, 0.75, 0.9);
+  transition:height 200ms cubic-bezier(0.4, 1, 0.75, 0.9); }
+  .bp3-collapse .bp3-collapse-body{
+    -webkit-transition:-webkit-transform 200ms cubic-bezier(0.4, 1, 0.75, 0.9);
+    transition:-webkit-transform 200ms cubic-bezier(0.4, 1, 0.75, 0.9);
+    transition:transform 200ms cubic-bezier(0.4, 1, 0.75, 0.9);
+    transition:transform 200ms cubic-bezier(0.4, 1, 0.75, 0.9), -webkit-transform 200ms cubic-bezier(0.4, 1, 0.75, 0.9); }
+    .bp3-collapse .bp3-collapse-body[aria-hidden="true"]{
+      display:none; }
+
+.bp3-context-menu .bp3-popover-target{
+  display:block; }
+
+.bp3-context-menu-popover-target{
+  position:fixed; }
+
+.bp3-divider{
+  border-bottom:1px solid rgba(16, 22, 26, 0.15);
+  border-right:1px solid rgba(16, 22, 26, 0.15);
+  margin:5px; }
+  .bp3-dark .bp3-divider{
+    border-color:rgba(16, 22, 26, 0.4); }
+.bp3-dialog-container{
+  opacity:1;
+  -webkit-transform:scale(1);
+          transform:scale(1);
+  -webkit-box-align:center;
+      -ms-flex-align:center;
+          align-items:center;
+  display:-webkit-box;
+  display:-ms-flexbox;
+  display:flex;
+  -webkit-box-pack:center;
+      -ms-flex-pack:center;
+          justify-content:center;
+  min-height:100%;
+  pointer-events:none;
+  -webkit-user-select:none;
+     -moz-user-select:none;
+      -ms-user-select:none;
+          user-select:none;
+  width:100%; }
+  .bp3-dialog-container.bp3-overlay-enter > .bp3-dialog, .bp3-dialog-container.bp3-overlay-appear > .bp3-dialog{
+    opacity:0;
+    -webkit-transform:scale(0.5);
+            transform:scale(0.5); }
+  .bp3-dialog-container.bp3-overlay-enter-active > .bp3-dialog, .bp3-dialog-container.bp3-overlay-appear-active > .bp3-dialog{
+    opacity:1;
+    -webkit-transform:scale(1);
+            transform:scale(1);
+    -webkit-transition-delay:0;
+            transition-delay:0;
+    -webkit-transition-duration:300ms;
+            transition-duration:300ms;
+    -webkit-transition-property:opacity, -webkit-transform;
+    transition-property:opacity, -webkit-transform;
+    transition-property:opacity, transform;
+    transition-property:opacity, transform, -webkit-transform;
+    -webkit-transition-timing-function:cubic-bezier(0.54, 1.12, 0.38, 1.11);
+            transition-timing-function:cubic-bezier(0.54, 1.12, 0.38, 1.11); }
+  .bp3-dialog-container.bp3-overlay-exit > .bp3-dialog{
+    opacity:1;
+    -webkit-transform:scale(1);
+            transform:scale(1); }
+  .bp3-dialog-container.bp3-overlay-exit-active > .bp3-dialog{
+    opacity:0;
+    -webkit-transform:scale(0.5);
+            transform:scale(0.5);
+    -webkit-transition-delay:0;
+            transition-delay:0;
+    -webkit-transition-duration:300ms;
+            transition-duration:300ms;
+    -webkit-transition-property:opacity, -webkit-transform;
+    transition-property:opacity, -webkit-transform;
+    transition-property:opacity, transform;
+    transition-property:opacity, transform, -webkit-transform;
+    -webkit-transition-timing-function:cubic-bezier(0.54, 1.12, 0.38, 1.11);
+            transition-timing-function:cubic-bezier(0.54, 1.12, 0.38, 1.11); }
+
+.bp3-dialog{
+  background:#ebf1f5;
+  border-radius:6px;
+  -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 4px 8px rgba(16, 22, 26, 0.2), 0 18px 46px 6px rgba(16, 22, 26, 0.2);
+          box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 4px 8px rgba(16, 22, 26, 0.2), 0 18px 46px 6px rgba(16, 22, 26, 0.2);
+  display:-webkit-box;
+  display:-ms-flexbox;
+  display:flex;
+  -webkit-box-orient:vertical;
+  -webkit-box-direction:normal;
+      -ms-flex-direction:column;
+          flex-direction:column;
+  margin:30px 0;
+  padding-bottom:20px;
+  pointer-events:all;
+  -webkit-user-select:text;
+     -moz-user-select:text;
+      -ms-user-select:text;
+          user-select:text;
+  width:500px; }
+  .bp3-dialog:focus{
+    outline:0; }
+  .bp3-dialog.bp3-dark,
+  .bp3-dark .bp3-dialog{
+    background:#293742;
+    -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 4px 8px rgba(16, 22, 26, 0.4), 0 18px 46px 6px rgba(16, 22, 26, 0.4);
+            box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 4px 8px rgba(16, 22, 26, 0.4), 0 18px 46px 6px rgba(16, 22, 26, 0.4);
+    color:#f5f8fa; }
+
+.bp3-dialog-header{
+  -webkit-box-align:center;
+      -ms-flex-align:center;
+          align-items:center;
+  background:#ffffff;
+  border-radius:6px 6px 0 0;
+  -webkit-box-shadow:0 1px 0 rgba(16, 22, 26, 0.15);
+          box-shadow:0 1px 0 rgba(16, 22, 26, 0.15);
+  display:-webkit-box;
+  display:-ms-flexbox;
+  display:flex;
+  -webkit-box-flex:0;
+      -ms-flex:0 0 auto;
+          flex:0 0 auto;
+  min-height:40px;
+  padding-left:20px;
+  padding-right:5px; }
+  .bp3-dialog-header .bp3-icon-large,
+  .bp3-dialog-header .bp3-icon{
+    color:#5c7080;
+    -webkit-box-flex:0;
+        -ms-flex:0 0 auto;
+            flex:0 0 auto;
+    margin-right:10px; }
+  .bp3-dialog-header .bp3-heading{
+    overflow:hidden;
+    text-overflow:ellipsis;
+    white-space:nowrap;
+    word-wrap:normal;
+    -webkit-box-flex:1;
+        -ms-flex:1 1 auto;
+            flex:1 1 auto;
+    line-height:inherit;
+    margin:0; }
+    .bp3-dialog-header .bp3-heading:last-child{
+      margin-right:20px; }
+  .bp3-dark .bp3-dialog-header{
+    background:#30404d;
+    -webkit-box-shadow:0 1px 0 rgba(16, 22, 26, 0.4);
+            box-shadow:0 1px 0 rgba(16, 22, 26, 0.4); }
+    .bp3-dark .bp3-dialog-header .bp3-icon-large,
+    .bp3-dark .bp3-dialog-header .bp3-icon{
+      color:#a7b6c2; }
+
+.bp3-dialog-body{
+  -webkit-box-flex:1;
+      -ms-flex:1 1 auto;
+          flex:1 1 auto;
+  line-height:18px;
+  margin:20px; }
+
+.bp3-dialog-footer{
+  -webkit-box-flex:0;
+      -ms-flex:0 0 auto;
+          flex:0 0 auto;
+  margin:0 20px; }
+
+.bp3-dialog-footer-actions{
+  display:-webkit-box;
+  display:-ms-flexbox;
+  display:flex;
+  -webkit-box-pack:end;
+      -ms-flex-pack:end;
+          justify-content:flex-end; }
+  .bp3-dialog-footer-actions .bp3-button{
+    margin-left:10px; }
+.bp3-drawer{
+  background:#ffffff;
+  -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 4px 8px rgba(16, 22, 26, 0.2), 0 18px 46px 6px rgba(16, 22, 26, 0.2);
+          box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 4px 8px rgba(16, 22, 26, 0.2), 0 18px 46px 6px rgba(16, 22, 26, 0.2);
+  display:-webkit-box;
+  display:-ms-flexbox;
+  display:flex;
+  -webkit-box-orient:vertical;
+  -webkit-box-direction:normal;
+      -ms-flex-direction:column;
+          flex-direction:column;
+  margin:0;
+  padding:0; }
+  .bp3-drawer:focus{
+    outline:0; }
+  .bp3-drawer.bp3-position-top{
+    height:50%;
+    left:0;
+    right:0;
+    top:0; }
+    .bp3-drawer.bp3-position-top.bp3-overlay-enter, .bp3-drawer.bp3-position-top.bp3-overlay-appear{
+      -webkit-transform:translateY(-100%);
+              transform:translateY(-100%); }
+    .bp3-drawer.bp3-position-top.bp3-overlay-enter-active, .bp3-drawer.bp3-position-top.bp3-overlay-appear-active{
+      -webkit-transform:translateY(0);
+              transform:translateY(0);
+      -webkit-transition-delay:0;
+              transition-delay:0;
+      -webkit-transition-duration:200ms;
+              transition-duration:200ms;
+      -webkit-transition-property:-webkit-transform;
+      transition-property:-webkit-transform;
+      transition-property:transform;
+      transition-property:transform, -webkit-transform;
+      -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9);
+              transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); }
+    .bp3-drawer.bp3-position-top.bp3-overlay-exit{
+      -webkit-transform:translateY(0);
+              transform:translateY(0); }
+    .bp3-drawer.bp3-position-top.bp3-overlay-exit-active{
+      -webkit-transform:translateY(-100%);
+              transform:translateY(-100%);
+      -webkit-transition-delay:0;
+              transition-delay:0;
+      -webkit-transition-duration:100ms;
+              transition-duration:100ms;
+      -webkit-transition-property:-webkit-transform;
+      transition-property:-webkit-transform;
+      transition-property:transform;
+      transition-property:transform, -webkit-transform;
+      -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9);
+              transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); }
+  .bp3-drawer.bp3-position-bottom{
+    bottom:0;
+    height:50%;
+    left:0;
+    right:0; }
+    .bp3-drawer.bp3-position-bottom.bp3-overlay-enter, .bp3-drawer.bp3-position-bottom.bp3-overlay-appear{
+      -webkit-transform:translateY(100%);
+              transform:translateY(100%); }
+    .bp3-drawer.bp3-position-bottom.bp3-overlay-enter-active, .bp3-drawer.bp3-position-bottom.bp3-overlay-appear-active{
+      -webkit-transform:translateY(0);
+              transform:translateY(0);
+      -webkit-transition-delay:0;
+              transition-delay:0;
+      -webkit-transition-duration:200ms;
+              transition-duration:200ms;
+      -webkit-transition-property:-webkit-transform;
+      transition-property:-webkit-transform;
+      transition-property:transform;
+      transition-property:transform, -webkit-transform;
+      -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9);
+              transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); }
+    .bp3-drawer.bp3-position-bottom.bp3-overlay-exit{
+      -webkit-transform:translateY(0);
+              transform:translateY(0); }
+    .bp3-drawer.bp3-position-bottom.bp3-overlay-exit-active{
+      -webkit-transform:translateY(100%);
+              transform:translateY(100%);
+      -webkit-transition-delay:0;
+              transition-delay:0;
+      -webkit-transition-duration:100ms;
+              transition-duration:100ms;
+      -webkit-transition-property:-webkit-transform;
+      transition-property:-webkit-transform;
+      transition-property:transform;
+      transition-property:transform, -webkit-transform;
+      -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9);
+              transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); }
+  .bp3-drawer.bp3-position-left{
+    bottom:0;
+    left:0;
+    top:0;
+    width:50%; }
+    .bp3-drawer.bp3-position-left.bp3-overlay-enter, .bp3-drawer.bp3-position-left.bp3-overlay-appear{
+      -webkit-transform:translateX(-100%);
+              transform:translateX(-100%); }
+    .bp3-drawer.bp3-position-left.bp3-overlay-enter-active, .bp3-drawer.bp3-position-left.bp3-overlay-appear-active{
+      -webkit-transform:translateX(0);
+              transform:translateX(0);
+      -webkit-transition-delay:0;
+              transition-delay:0;
+      -webkit-transition-duration:200ms;
+              transition-duration:200ms;
+      -webkit-transition-property:-webkit-transform;
+      transition-property:-webkit-transform;
+      transition-property:transform;
+      transition-property:transform, -webkit-transform;
+      -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9);
+              transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); }
+    .bp3-drawer.bp3-position-left.bp3-overlay-exit{
+      -webkit-transform:translateX(0);
+              transform:translateX(0); }
+    .bp3-drawer.bp3-position-left.bp3-overlay-exit-active{
+      -webkit-transform:translateX(-100%);
+              transform:translateX(-100%);
+      -webkit-transition-delay:0;
+              transition-delay:0;
+      -webkit-transition-duration:100ms;
+              transition-duration:100ms;
+      -webkit-transition-property:-webkit-transform;
+      transition-property:-webkit-transform;
+      transition-property:transform;
+      transition-property:transform, -webkit-transform;
+      -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9);
+              transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); }
+  .bp3-drawer.bp3-position-right{
+    bottom:0;
+    right:0;
+    top:0;
+    width:50%; }
+    .bp3-drawer.bp3-position-right.bp3-overlay-enter, .bp3-drawer.bp3-position-right.bp3-overlay-appear{
+      -webkit-transform:translateX(100%);
+              transform:translateX(100%); }
+    .bp3-drawer.bp3-position-right.bp3-overlay-enter-active, .bp3-drawer.bp3-position-right.bp3-overlay-appear-active{
+      -webkit-transform:translateX(0);
+              transform:translateX(0);
+      -webkit-transition-delay:0;
+              transition-delay:0;
+      -webkit-transition-duration:200ms;
+              transition-duration:200ms;
+      -webkit-transition-property:-webkit-transform;
+      transition-property:-webkit-transform;
+      transition-property:transform;
+      transition-property:transform, -webkit-transform;
+      -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9);
+              transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); }
+    .bp3-drawer.bp3-position-right.bp3-overlay-exit{
+      -webkit-transform:translateX(0);
+              transform:translateX(0); }
+    .bp3-drawer.bp3-position-right.bp3-overlay-exit-active{
+      -webkit-transform:translateX(100%);
+              transform:translateX(100%);
+      -webkit-transition-delay:0;
+              transition-delay:0;
+      -webkit-transition-duration:100ms;
+              transition-duration:100ms;
+      -webkit-transition-property:-webkit-transform;
+      transition-property:-webkit-transform;
+      transition-property:transform;
+      transition-property:transform, -webkit-transform;
+      -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9);
+              transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); }
+  .bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not(
+  .bp3-position-right):not(.bp3-vertical){
+    bottom:0;
+    right:0;
+    top:0;
+    width:50%; }
+    .bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not(
+    .bp3-position-right):not(.bp3-vertical).bp3-overlay-enter, .bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not(
+    .bp3-position-right):not(.bp3-vertical).bp3-overlay-appear{
+      -webkit-transform:translateX(100%);
+              transform:translateX(100%); }
+    .bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not(
+    .bp3-position-right):not(.bp3-vertical).bp3-overlay-enter-active, .bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not(
+    .bp3-position-right):not(.bp3-vertical).bp3-overlay-appear-active{
+      -webkit-transform:translateX(0);
+              transform:translateX(0);
+      -webkit-transition-delay:0;
+              transition-delay:0;
+      -webkit-transition-duration:200ms;
+              transition-duration:200ms;
+      -webkit-transition-property:-webkit-transform;
+      transition-property:-webkit-transform;
+      transition-property:transform;
+      transition-property:transform, -webkit-transform;
+      -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9);
+              transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); }
+    .bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not(
+    .bp3-position-right):not(.bp3-vertical).bp3-overlay-exit{
+      -webkit-transform:translateX(0);
+              transform:translateX(0); }
+    .bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not(
+    .bp3-position-right):not(.bp3-vertical).bp3-overlay-exit-active{
+      -webkit-transform:translateX(100%);
+              transform:translateX(100%);
+      -webkit-transition-delay:0;
+              transition-delay:0;
+      -webkit-transition-duration:100ms;
+              transition-duration:100ms;
+      -webkit-transition-property:-webkit-transform;
+      transition-property:-webkit-transform;
+      transition-property:transform;
+      transition-property:transform, -webkit-transform;
+      -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9);
+              transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); }
+  .bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not(
+  .bp3-position-right).bp3-vertical{
+    bottom:0;
+    height:50%;
+    left:0;
+    right:0; }
+    .bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not(
+    .bp3-position-right).bp3-vertical.bp3-overlay-enter, .bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not(
+    .bp3-position-right).bp3-vertical.bp3-overlay-appear{
+      -webkit-transform:translateY(100%);
+              transform:translateY(100%); }
+    .bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not(
+    .bp3-position-right).bp3-vertical.bp3-overlay-enter-active, .bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not(
+    .bp3-position-right).bp3-vertical.bp3-overlay-appear-active{
+      -webkit-transform:translateY(0);
+              transform:translateY(0);
+      -webkit-transition-delay:0;
+              transition-delay:0;
+      -webkit-transition-duration:200ms;
+              transition-duration:200ms;
+      -webkit-transition-property:-webkit-transform;
+      transition-property:-webkit-transform;
+      transition-property:transform;
+      transition-property:transform, -webkit-transform;
+      -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9);
+              transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); }
+    .bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not(
+    .bp3-position-right).bp3-vertical.bp3-overlay-exit{
+      -webkit-transform:translateY(0);
+              transform:translateY(0); }
+    .bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not(
+    .bp3-position-right).bp3-vertical.bp3-overlay-exit-active{
+      -webkit-transform:translateY(100%);
+              transform:translateY(100%);
+      -webkit-transition-delay:0;
+              transition-delay:0;
+      -webkit-transition-duration:100ms;
+              transition-duration:100ms;
+      -webkit-transition-property:-webkit-transform;
+      transition-property:-webkit-transform;
+      transition-property:transform;
+      transition-property:transform, -webkit-transform;
+      -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9);
+              transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); }
+  .bp3-drawer.bp3-dark,
+  .bp3-dark .bp3-drawer{
+    background:#30404d;
+    -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 4px 8px rgba(16, 22, 26, 0.4), 0 18px 46px 6px rgba(16, 22, 26, 0.4);
+            box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 4px 8px rgba(16, 22, 26, 0.4), 0 18px 46px 6px rgba(16, 22, 26, 0.4);
+    color:#f5f8fa; }
+
+.bp3-drawer-header{
+  -webkit-box-align:center;
+      -ms-flex-align:center;
+          align-items:center;
+  border-radius:0;
+  -webkit-box-shadow:0 1px 0 rgba(16, 22, 26, 0.15);
+          box-shadow:0 1px 0 rgba(16, 22, 26, 0.15);
+  display:-webkit-box;
+  display:-ms-flexbox;
+  display:flex;
+  -webkit-box-flex:0;
+      -ms-flex:0 0 auto;
+          flex:0 0 auto;
+  min-height:40px;
+  padding:5px;
+  padding-left:20px;
+  position:relative; }
+  .bp3-drawer-header .bp3-icon-large,
+  .bp3-drawer-header .bp3-icon{
+    color:#5c7080;
+    -webkit-box-flex:0;
+        -ms-flex:0 0 auto;
+            flex:0 0 auto;
+    margin-right:10px; }
+  .bp3-drawer-header .bp3-heading{
+    overflow:hidden;
+    text-overflow:ellipsis;
+    white-space:nowrap;
+    word-wrap:normal;
+    -webkit-box-flex:1;
+        -ms-flex:1 1 auto;
+            flex:1 1 auto;
+    line-height:inherit;
+    margin:0; }
+    .bp3-drawer-header .bp3-heading:last-child{
+      margin-right:20px; }
+  .bp3-dark .bp3-drawer-header{
+    -webkit-box-shadow:0 1px 0 rgba(16, 22, 26, 0.4);
+            box-shadow:0 1px 0 rgba(16, 22, 26, 0.4); }
+    .bp3-dark .bp3-drawer-header .bp3-icon-large,
+    .bp3-dark .bp3-drawer-header .bp3-icon{
+      color:#a7b6c2; }
+
+.bp3-drawer-body{
+  -webkit-box-flex:1;
+      -ms-flex:1 1 auto;
+          flex:1 1 auto;
+  line-height:18px;
+  overflow:auto; }
+
+.bp3-drawer-footer{
+  -webkit-box-shadow:inset 0 1px 0 rgba(16, 22, 26, 0.15);
+          box-shadow:inset 0 1px 0 rgba(16, 22, 26, 0.15);
+  -webkit-box-flex:0;
+      -ms-flex:0 0 auto;
+          flex:0 0 auto;
+  padding:10px 20px;
+  position:relative; }
+  .bp3-dark .bp3-drawer-footer{
+    -webkit-box-shadow:inset 0 1px 0 rgba(16, 22, 26, 0.4);
+            box-shadow:inset 0 1px 0 rgba(16, 22, 26, 0.4); }
+.bp3-editable-text{
+  cursor:text;
+  display:inline-block;
+  max-width:100%;
+  position:relative;
+  vertical-align:top;
+  white-space:nowrap; }
+  .bp3-editable-text::before{
+    bottom:-3px;
+    left:-3px;
+    position:absolute;
+    right:-3px;
+    top:-3px;
+    border-radius:3px;
+    content:"";
+    -webkit-transition:background-color 100ms cubic-bezier(0.4, 1, 0.75, 0.9), -webkit-box-shadow 100ms cubic-bezier(0.4, 1, 0.75, 0.9);
+    transition:background-color 100ms cubic-bezier(0.4, 1, 0.75, 0.9), -webkit-box-shadow 100ms cubic-bezier(0.4, 1, 0.75, 0.9);
+    transition:background-color 100ms cubic-bezier(0.4, 1, 0.75, 0.9), box-shadow 100ms cubic-bezier(0.4, 1, 0.75, 0.9);
+    transition:background-color 100ms cubic-bezier(0.4, 1, 0.75, 0.9), box-shadow 100ms cubic-bezier(0.4, 1, 0.75, 0.9), -webkit-box-shadow 100ms cubic-bezier(0.4, 1, 0.75, 0.9); }
+  .bp3-editable-text:hover::before{
+    -webkit-box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(16, 22, 26, 0.15);
+            box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(16, 22, 26, 0.15); }
+  .bp3-editable-text.bp3-editable-text-editing::before{
+    background-color:#ffffff;
+    -webkit-box-shadow:0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2);
+            box-shadow:0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); }
+  .bp3-editable-text.bp3-disabled::before{
+    -webkit-box-shadow:none;
+            box-shadow:none; }
+  .bp3-editable-text.bp3-intent-primary .bp3-editable-text-input,
+  .bp3-editable-text.bp3-intent-primary .bp3-editable-text-content{
+    color:#137cbd; }
+  .bp3-editable-text.bp3-intent-primary:hover::before{
+    -webkit-box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(19, 124, 189, 0.4);
+            box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(19, 124, 189, 0.4); }
+  .bp3-editable-text.bp3-intent-primary.bp3-editable-text-editing::before{
+    -webkit-box-shadow:0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2);
+            box-shadow:0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); }
+  .bp3-editable-text.bp3-intent-success .bp3-editable-text-input,
+  .bp3-editable-text.bp3-intent-success .bp3-editable-text-content{
+    color:#0f9960; }
+  .bp3-editable-text.bp3-intent-success:hover::before{
+    -webkit-box-shadow:0 0 0 0 rgba(15, 153, 96, 0), 0 0 0 0 rgba(15, 153, 96, 0), inset 0 0 0 1px rgba(15, 153, 96, 0.4);
+            box-shadow:0 0 0 0 rgba(15, 153, 96, 0), 0 0 0 0 rgba(15, 153, 96, 0), inset 0 0 0 1px rgba(15, 153, 96, 0.4); }
+  .bp3-editable-text.bp3-intent-success.bp3-editable-text-editing::before{
+    -webkit-box-shadow:0 0 0 1px #0f9960, 0 0 0 3px rgba(15, 153, 96, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2);
+            box-shadow:0 0 0 1px #0f9960, 0 0 0 3px rgba(15, 153, 96, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); }
+  .bp3-editable-text.bp3-intent-warning .bp3-editable-text-input,
+  .bp3-editable-text.bp3-intent-warning .bp3-editable-text-content{
+    color:#d9822b; }
+  .bp3-editable-text.bp3-intent-warning:hover::before{
+    -webkit-box-shadow:0 0 0 0 rgba(217, 130, 43, 0), 0 0 0 0 rgba(217, 130, 43, 0), inset 0 0 0 1px rgba(217, 130, 43, 0.4);
+            box-shadow:0 0 0 0 rgba(217, 130, 43, 0), 0 0 0 0 rgba(217, 130, 43, 0), inset 0 0 0 1px rgba(217, 130, 43, 0.4); }
+  .bp3-editable-text.bp3-intent-warning.bp3-editable-text-editing::before{
+    -webkit-box-shadow:0 0 0 1px #d9822b, 0 0 0 3px rgba(217, 130, 43, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2);
+            box-shadow:0 0 0 1px #d9822b, 0 0 0 3px rgba(217, 130, 43, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); }
+  .bp3-editable-text.bp3-intent-danger .bp3-editable-text-input,
+  .bp3-editable-text.bp3-intent-danger .bp3-editable-text-content{
+    color:#db3737; }
+  .bp3-editable-text.bp3-intent-danger:hover::before{
+    -webkit-box-shadow:0 0 0 0 rgba(219, 55, 55, 0), 0 0 0 0 rgba(219, 55, 55, 0), inset 0 0 0 1px rgba(219, 55, 55, 0.4);
+            box-shadow:0 0 0 0 rgba(219, 55, 55, 0), 0 0 0 0 rgba(219, 55, 55, 0), inset 0 0 0 1px rgba(219, 55, 55, 0.4); }
+  .bp3-editable-text.bp3-intent-danger.bp3-editable-text-editing::before{
+    -webkit-box-shadow:0 0 0 1px #db3737, 0 0 0 3px rgba(219, 55, 55, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2);
+            box-shadow:0 0 0 1px #db3737, 0 0 0 3px rgba(219, 55, 55, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); }
+  .bp3-dark .bp3-editable-text:hover::before{
+    -webkit-box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(255, 255, 255, 0.15);
+            box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(255, 255, 255, 0.15); }
+  .bp3-dark .bp3-editable-text.bp3-editable-text-editing::before{
+    background-color:rgba(16, 22, 26, 0.3);
+    -webkit-box-shadow:0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4);
+            box-shadow:0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); }
+  .bp3-dark .bp3-editable-text.bp3-disabled::before{
+    -webkit-box-shadow:none;
+            box-shadow:none; }
+  .bp3-dark .bp3-editable-text.bp3-intent-primary .bp3-editable-text-content{
+    color:#48aff0; }
+  .bp3-dark .bp3-editable-text.bp3-intent-primary:hover::before{
+    -webkit-box-shadow:0 0 0 0 rgba(72, 175, 240, 0), 0 0 0 0 rgba(72, 175, 240, 0), inset 0 0 0 1px rgba(72, 175, 240, 0.4);
+            box-shadow:0 0 0 0 rgba(72, 175, 240, 0), 0 0 0 0 rgba(72, 175, 240, 0), inset 0 0 0 1px rgba(72, 175, 240, 0.4); }
+  .bp3-dark .bp3-editable-text.bp3-intent-primary.bp3-editable-text-editing::before{
+    -webkit-box-shadow:0 0 0 1px #48aff0, 0 0 0 3px rgba(72, 175, 240, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4);
+            box-shadow:0 0 0 1px #48aff0, 0 0 0 3px rgba(72, 175, 240, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); }
+  .bp3-dark .bp3-editable-text.bp3-intent-success .bp3-editable-text-content{
+    color:#3dcc91; }
+  .bp3-dark .bp3-editable-text.bp3-intent-success:hover::before{
+    -webkit-box-shadow:0 0 0 0 rgba(61, 204, 145, 0), 0 0 0 0 rgba(61, 204, 145, 0), inset 0 0 0 1px rgba(61, 204, 145, 0.4);
+            box-shadow:0 0 0 0 rgba(61, 204, 145, 0), 0 0 0 0 rgba(61, 204, 145, 0), inset 0 0 0 1px rgba(61, 204, 145, 0.4); }
+  .bp3-dark .bp3-editable-text.bp3-intent-success.bp3-editable-text-editing::before{
+    -webkit-box-shadow:0 0 0 1px #3dcc91, 0 0 0 3px rgba(61, 204, 145, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4);
+            box-shadow:0 0 0 1px #3dcc91, 0 0 0 3px rgba(61, 204, 145, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); }
+  .bp3-dark .bp3-editable-text.bp3-intent-warning .bp3-editable-text-content{
+    color:#ffb366; }
+  .bp3-dark .bp3-editable-text.bp3-intent-warning:hover::before{
+    -webkit-box-shadow:0 0 0 0 rgba(255, 179, 102, 0), 0 0 0 0 rgba(255, 179, 102, 0), inset 0 0 0 1px rgba(255, 179, 102, 0.4);
+            box-shadow:0 0 0 0 rgba(255, 179, 102, 0), 0 0 0 0 rgba(255, 179, 102, 0), inset 0 0 0 1px rgba(255, 179, 102, 0.4); }
+  .bp3-dark .bp3-editable-text.bp3-intent-warning.bp3-editable-text-editing::before{
+    -webkit-box-shadow:0 0 0 1px #ffb366, 0 0 0 3px rgba(255, 179, 102, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4);
+            box-shadow:0 0 0 1px #ffb366, 0 0 0 3px rgba(255, 179, 102, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); }
+  .bp3-dark .bp3-editable-text.bp3-intent-danger .bp3-editable-text-content{
+    color:#ff7373; }
+  .bp3-dark .bp3-editable-text.bp3-intent-danger:hover::before{
+    -webkit-box-shadow:0 0 0 0 rgba(255, 115, 115, 0), 0 0 0 0 rgba(255, 115, 115, 0), inset 0 0 0 1px rgba(255, 115, 115, 0.4);
+            box-shadow:0 0 0 0 rgba(255, 115, 115, 0), 0 0 0 0 rgba(255, 115, 115, 0), inset 0 0 0 1px rgba(255, 115, 115, 0.4); }
+  .bp3-dark .bp3-editable-text.bp3-intent-danger.bp3-editable-text-editing::before{
+    -webkit-box-shadow:0 0 0 1px #ff7373, 0 0 0 3px rgba(255, 115, 115, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4);
+            box-shadow:0 0 0 1px #ff7373, 0 0 0 3px rgba(255, 115, 115, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); }
+
+.bp3-editable-text-input,
+.bp3-editable-text-content{
+  color:inherit;
+  display:inherit;
+  font:inherit;
+  letter-spacing:inherit;
+  max-width:inherit;
+  min-width:inherit;
+  position:relative;
+  resize:none;
+  text-transform:inherit;
+  vertical-align:top; }
+
+.bp3-editable-text-input{
+  background:none;
+  border:none;
+  -webkit-box-shadow:none;
+          box-shadow:none;
+  padding:0;
+  white-space:pre-wrap;
+  width:100%; }
+  .bp3-editable-text-input::-webkit-input-placeholder{
+    color:rgba(92, 112, 128, 0.6);
+    opacity:1; }
+  .bp3-editable-text-input::-moz-placeholder{
+    color:rgba(92, 112, 128, 0.6);
+    opacity:1; }
+  .bp3-editable-text-input:-ms-input-placeholder{
+    color:rgba(92, 112, 128, 0.6);
+    opacity:1; }
+  .bp3-editable-text-input::-ms-input-placeholder{
+    color:rgba(92, 112, 128, 0.6);
+    opacity:1; }
+  .bp3-editable-text-input::placeholder{
+    color:rgba(92, 112, 128, 0.6);
+    opacity:1; }
+  .bp3-editable-text-input:focus{
+    outline:none; }
+  .bp3-editable-text-input::-ms-clear{
+    display:none; }
+
+.bp3-editable-text-content{
+  overflow:hidden;
+  padding-right:2px;
+  text-overflow:ellipsis;
+  white-space:pre; }
+  .bp3-editable-text-editing > .bp3-editable-text-content{
+    left:0;
+    position:absolute;
+    visibility:hidden; }
+  .bp3-editable-text-placeholder > .bp3-editable-text-content{
+    color:rgba(92, 112, 128, 0.6); }
+    .bp3-dark .bp3-editable-text-placeholder > .bp3-editable-text-content{
+      color:rgba(167, 182, 194, 0.6); }
+
+.bp3-editable-text.bp3-multiline{
+  display:block; }
+  .bp3-editable-text.bp3-multiline .bp3-editable-text-content{
+    overflow:auto;
+    white-space:pre-wrap;
+    word-wrap:break-word; }
+.bp3-divider{
+  border-bottom:1px solid rgba(16, 22, 26, 0.15);
+  border-right:1px solid rgba(16, 22, 26, 0.15);
+  margin:5px; }
+  .bp3-dark .bp3-divider{
+    border-color:rgba(16, 22, 26, 0.4); }
+.bp3-control-group{
+  -webkit-transform:translateZ(0);
+          transform:translateZ(0);
+  display:-webkit-box;
+  display:-ms-flexbox;
+  display:flex;
+  -webkit-box-orient:horizontal;
+  -webkit-box-direction:normal;
+      -ms-flex-direction:row;
+          flex-direction:row;
+  -webkit-box-align:stretch;
+      -ms-flex-align:stretch;
+          align-items:stretch; }
+  .bp3-control-group > *{
+    -webkit-box-flex:0;
+        -ms-flex-positive:0;
+            flex-grow:0;
+    -ms-flex-negative:0;
+        flex-shrink:0; }
+  .bp3-control-group > .bp3-fill{
+    -webkit-box-flex:1;
+        -ms-flex-positive:1;
+            flex-grow:1;
+    -ms-flex-negative:1;
+        flex-shrink:1; }
+  .bp3-control-group .bp3-button,
+  .bp3-control-group .bp3-html-select,
+  .bp3-control-group .bp3-input,
+  .bp3-control-group .bp3-select{
+    position:relative; }
+  .bp3-control-group .bp3-input{
+    border-radius:inherit;
+    z-index:2; }
+    .bp3-control-group .bp3-input:focus{
+      border-radius:3px;
+      z-index:14; }
+    .bp3-control-group .bp3-input[class*="bp3-intent"]{
+      z-index:13; }
+      .bp3-control-group .bp3-input[class*="bp3-intent"]:focus{
+        z-index:15; }
+    .bp3-control-group .bp3-input[readonly], .bp3-control-group .bp3-input:disabled, .bp3-control-group .bp3-input.bp3-disabled{
+      z-index:1; }
+  .bp3-control-group .bp3-input-group[class*="bp3-intent"] .bp3-input{
+    z-index:13; }
+    .bp3-control-group .bp3-input-group[class*="bp3-intent"] .bp3-input:focus{
+      z-index:15; }
+  .bp3-control-group .bp3-button,
+  .bp3-control-group .bp3-html-select select,
+  .bp3-control-group .bp3-select select{
+    -webkit-transform:translateZ(0);
+            transform:translateZ(0);
+    border-radius:inherit;
+    z-index:4; }
+    .bp3-control-group .bp3-button:focus,
+    .bp3-control-group .bp3-html-select select:focus,
+    .bp3-control-group .bp3-select select:focus{
+      z-index:5; }
+    .bp3-control-group .bp3-button:hover,
+    .bp3-control-group .bp3-html-select select:hover,
+    .bp3-control-group .bp3-select select:hover{
+      z-index:6; }
+    .bp3-control-group .bp3-button:active,
+    .bp3-control-group .bp3-html-select select:active,
+    .bp3-control-group .bp3-select select:active{
+      z-index:7; }
+    .bp3-control-group .bp3-button[readonly], .bp3-control-group .bp3-button:disabled, .bp3-control-group .bp3-button.bp3-disabled,
+    .bp3-control-group .bp3-html-select select[readonly],
+    .bp3-control-group .bp3-html-select select:disabled,
+    .bp3-control-group .bp3-html-select select.bp3-disabled,
+    .bp3-control-group .bp3-select select[readonly],
+    .bp3-control-group .bp3-select select:disabled,
+    .bp3-control-group .bp3-select select.bp3-disabled{
+      z-index:3; }
+    .bp3-control-group .bp3-button[class*="bp3-intent"],
+    .bp3-control-group .bp3-html-select select[class*="bp3-intent"],
+    .bp3-control-group .bp3-select select[class*="bp3-intent"]{
+      z-index:9; }
+      .bp3-control-group .bp3-button[class*="bp3-intent"]:focus,
+      .bp3-control-group .bp3-html-select select[class*="bp3-intent"]:focus,
+      .bp3-control-group .bp3-select select[class*="bp3-intent"]:focus{
+        z-index:10; }
+      .bp3-control-group .bp3-button[class*="bp3-intent"]:hover,
+      .bp3-control-group .bp3-html-select select[class*="bp3-intent"]:hover,
+      .bp3-control-group .bp3-select select[class*="bp3-intent"]:hover{
+        z-index:11; }
+      .bp3-control-group .bp3-button[class*="bp3-intent"]:active,
+      .bp3-control-group .bp3-html-select select[class*="bp3-intent"]:active,
+      .bp3-control-group .bp3-select select[class*="bp3-intent"]:active{
+        z-index:12; }
+      .bp3-control-group .bp3-button[class*="bp3-intent"][readonly], .bp3-control-group .bp3-button[class*="bp3-intent"]:disabled, .bp3-control-group .bp3-button[class*="bp3-intent"].bp3-disabled,
+      .bp3-control-group .bp3-html-select select[class*="bp3-intent"][readonly],
+      .bp3-control-group .bp3-html-select select[class*="bp3-intent"]:disabled,
+      .bp3-control-group .bp3-html-select select[class*="bp3-intent"].bp3-disabled,
+      .bp3-control-group .bp3-select select[class*="bp3-intent"][readonly],
+      .bp3-control-group .bp3-select select[class*="bp3-intent"]:disabled,
+      .bp3-control-group .bp3-select select[class*="bp3-intent"].bp3-disabled{
+        z-index:8; }
+  .bp3-control-group .bp3-input-group > .bp3-icon,
+  .bp3-control-group .bp3-input-group > .bp3-button,
+  .bp3-control-group .bp3-input-group > .bp3-input-action{
+    z-index:16; }
+  .bp3-control-group .bp3-select::after,
+  .bp3-control-group .bp3-html-select::after,
+  .bp3-control-group .bp3-select > .bp3-icon,
+  .bp3-control-group .bp3-html-select > .bp3-icon{
+    z-index:17; }
+  .bp3-control-group .bp3-select:focus-within{
+    z-index:5; }
+  .bp3-control-group:not(.bp3-vertical) > *:not(.bp3-divider){
+    margin-right:-1px; }
+  .bp3-control-group:not(.bp3-vertical) > .bp3-divider:not(:first-child){
+    margin-left:6px; }
+  .bp3-dark .bp3-control-group:not(.bp3-vertical) > *:not(.bp3-divider){
+    margin-right:0; }
+  .bp3-dark .bp3-control-group:not(.bp3-vertical) > .bp3-button + .bp3-button{
+    margin-left:1px; }
+  .bp3-control-group .bp3-popover-wrapper,
+  .bp3-control-group .bp3-popover-target{
+    border-radius:inherit; }
+  .bp3-control-group > :first-child{
+    border-radius:3px 0 0 3px; }
+  .bp3-control-group > :last-child{
+    border-radius:0 3px 3px 0;
+    margin-right:0; }
+  .bp3-control-group > :only-child{
+    border-radius:3px;
+    margin-right:0; }
+  .bp3-control-group .bp3-input-group .bp3-button{
+    border-radius:3px; }
+  .bp3-control-group .bp3-numeric-input:not(:first-child) .bp3-input-group{
+    border-bottom-left-radius:0;
+    border-top-left-radius:0; }
+  .bp3-control-group.bp3-fill{
+    width:100%; }
+  .bp3-control-group > .bp3-fill{
+    -webkit-box-flex:1;
+        -ms-flex:1 1 auto;
+            flex:1 1 auto; }
+  .bp3-control-group.bp3-fill > *:not(.bp3-fixed){
+    -webkit-box-flex:1;
+        -ms-flex:1 1 auto;
+            flex:1 1 auto; }
+  .bp3-control-group.bp3-vertical{
+    -webkit-box-orient:vertical;
+    -webkit-box-direction:normal;
+        -ms-flex-direction:column;
+            flex-direction:column; }
+    .bp3-control-group.bp3-vertical > *{
+      margin-top:-1px; }
+    .bp3-control-group.bp3-vertical > :first-child{
+      border-radius:3px 3px 0 0;
+      margin-top:0; }
+    .bp3-control-group.bp3-vertical > :last-child{
+      border-radius:0 0 3px 3px; }
+.bp3-control{
+  cursor:pointer;
+  display:block;
+  margin-bottom:10px;
+  position:relative;
+  text-transform:none; }
+  .bp3-control input:checked ~ .bp3-control-indicator{
+    background-color:#137cbd;
+    background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.1)), to(rgba(255, 255, 255, 0)));
+    background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0));
+    -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2);
+            box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2);
+    color:#ffffff; }
+  .bp3-control:hover input:checked ~ .bp3-control-indicator{
+    background-color:#106ba3;
+    -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2);
+            box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); }
+  .bp3-control input:not(:disabled):active:checked ~ .bp3-control-indicator{
+    background:#0e5a8a;
+    -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2);
+            box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2); }
+  .bp3-control input:disabled:checked ~ .bp3-control-indicator{
+    background:rgba(19, 124, 189, 0.5);
+    -webkit-box-shadow:none;
+            box-shadow:none; }
+  .bp3-dark .bp3-control input:checked ~ .bp3-control-indicator{
+    -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4);
+            box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); }
+  .bp3-dark .bp3-control:hover input:checked ~ .bp3-control-indicator{
+    background-color:#106ba3;
+    -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4);
+            box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); }
+  .bp3-dark .bp3-control input:not(:disabled):active:checked ~ .bp3-control-indicator{
+    background-color:#0e5a8a;
+    -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2);
+            box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2); }
+  .bp3-dark .bp3-control input:disabled:checked ~ .bp3-control-indicator{
+    background:rgba(14, 90, 138, 0.5);
+    -webkit-box-shadow:none;
+            box-shadow:none; }
+  .bp3-control:not(.bp3-align-right){
+    padding-left:26px; }
+    .bp3-control:not(.bp3-align-right) .bp3-control-indicator{
+      margin-left:-26px; }
+  .bp3-control.bp3-align-right{
+    padding-right:26px; }
+    .bp3-control.bp3-align-right .bp3-control-indicator{
+      margin-right:-26px; }
+  .bp3-control.bp3-disabled{
+    color:rgba(92, 112, 128, 0.6);
+    cursor:not-allowed; }
+  .bp3-control.bp3-inline{
+    display:inline-block;
+    margin-right:20px; }
+  .bp3-control input{
+    left:0;
+    opacity:0;
+    position:absolute;
+    top:0;
+    z-index:-1; }
+  .bp3-control .bp3-control-indicator{
+    background-clip:padding-box;
+    background-color:#f5f8fa;
+    background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.8)), to(rgba(255, 255, 255, 0)));
+    background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0));
+    border:none;
+    -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1);
+            box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1);
+    cursor:pointer;
+    display:inline-block;
+    font-size:16px;
+    height:1em;
+    margin-right:10px;
+    margin-top:-3px;
+    position:relative;
+    -webkit-user-select:none;
+       -moz-user-select:none;
+        -ms-user-select:none;
+            user-select:none;
+    vertical-align:middle;
+    width:1em; }
+    .bp3-control .bp3-control-indicator::before{
+      content:"";
+      display:block;
+      height:1em;
+      width:1em; }
+  .bp3-control:hover .bp3-control-indicator{
+    background-color:#ebf1f5; }
+  .bp3-control input:not(:disabled):active ~ .bp3-control-indicator{
+    background:#d8e1e8;
+    -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 1px 2px rgba(16, 22, 26, 0.2);
+            box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 1px 2px rgba(16, 22, 26, 0.2); }
+  .bp3-control input:disabled ~ .bp3-control-indicator{
+    background:rgba(206, 217, 224, 0.5);
+    -webkit-box-shadow:none;
+            box-shadow:none;
+    cursor:not-allowed; }
+  .bp3-control input:focus ~ .bp3-control-indicator{
+    outline:rgba(19, 124, 189, 0.6) auto 2px;
+    outline-offset:2px;
+    -moz-outline-radius:6px; }
+  .bp3-control.bp3-align-right .bp3-control-indicator{
+    float:right;
+    margin-left:10px;
+    margin-top:1px; }
+  .bp3-control.bp3-large{
+    font-size:16px; }
+    .bp3-control.bp3-large:not(.bp3-align-right){
+      padding-left:30px; }
+      .bp3-control.bp3-large:not(.bp3-align-right) .bp3-control-indicator{
+        margin-left:-30px; }
+    .bp3-control.bp3-large.bp3-align-right{
+      padding-right:30px; }
+      .bp3-control.bp3-large.bp3-align-right .bp3-control-indicator{
+        margin-right:-30px; }
+    .bp3-control.bp3-large .bp3-control-indicator{
+      font-size:20px; }
+    .bp3-control.bp3-large.bp3-align-right .bp3-control-indicator{
+      margin-top:0; }
+  .bp3-control.bp3-checkbox input:indeterminate ~ .bp3-control-indicator{
+    background-color:#137cbd;
+    background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.1)), to(rgba(255, 255, 255, 0)));
+    background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0));
+    -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2);
+            box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2);
+    color:#ffffff; }
+  .bp3-control.bp3-checkbox:hover input:indeterminate ~ .bp3-control-indicator{
+    background-color:#106ba3;
+    -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2);
+            box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); }
+  .bp3-control.bp3-checkbox input:not(:disabled):active:indeterminate ~ .bp3-control-indicator{
+    background:#0e5a8a;
+    -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2);
+            box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2); }
+  .bp3-control.bp3-checkbox input:disabled:indeterminate ~ .bp3-control-indicator{
+    background:rgba(19, 124, 189, 0.5);
+    -webkit-box-shadow:none;
+            box-shadow:none; }
+  .bp3-dark .bp3-control.bp3-checkbox input:indeterminate ~ .bp3-control-indicator{
+    -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4);
+            box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); }
+  .bp3-dark .bp3-control.bp3-checkbox:hover input:indeterminate ~ .bp3-control-indicator{
+    background-color:#106ba3;
+    -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4);
+            box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); }
+  .bp3-dark .bp3-control.bp3-checkbox input:not(:disabled):active:indeterminate ~ .bp3-control-indicator{
+    background-color:#0e5a8a;
+    -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2);
+            box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2); }
+  .bp3-dark .bp3-control.bp3-checkbox input:disabled:indeterminate ~ .bp3-control-indicator{
+    background:rgba(14, 90, 138, 0.5);
+    -webkit-box-shadow:none;
+            box-shadow:none; }
+  .bp3-control.bp3-checkbox .bp3-control-indicator{
+    border-radius:3px; }
+  .bp3-control.bp3-checkbox input:checked ~ .bp3-control-indicator::before{
+    background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M12 5c-.28 0-.53.11-.71.29L7 9.59l-2.29-2.3a1.003 1.003 0 00-1.42 1.42l3 3c.18.18.43.29.71.29s.53-.11.71-.29l5-5A1.003 1.003 0 0012 5z' fill='white'/%3e%3c/svg%3e"); }
+  .bp3-control.bp3-checkbox input:indeterminate ~ .bp3-control-indicator::before{
+    background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M11 7H5c-.55 0-1 .45-1 1s.45 1 1 1h6c.55 0 1-.45 1-1s-.45-1-1-1z' fill='white'/%3e%3c/svg%3e"); }
+  .bp3-control.bp3-radio .bp3-control-indicator{
+    border-radius:50%; }
+  .bp3-control.bp3-radio input:checked ~ .bp3-control-indicator::before{
+    background-image:radial-gradient(#ffffff, #ffffff 28%, transparent 32%); }
+  .bp3-control.bp3-radio input:checked:disabled ~ .bp3-control-indicator::before{
+    opacity:0.5; }
+  .bp3-control.bp3-radio input:focus ~ .bp3-control-indicator{
+    -moz-outline-radius:16px; }
+  .bp3-control.bp3-switch input ~ .bp3-control-indicator{
+    background:rgba(167, 182, 194, 0.5); }
+  .bp3-control.bp3-switch:hover input ~ .bp3-control-indicator{
+    background:rgba(115, 134, 148, 0.5); }
+  .bp3-control.bp3-switch input:not(:disabled):active ~ .bp3-control-indicator{
+    background:rgba(92, 112, 128, 0.5); }
+  .bp3-control.bp3-switch input:disabled ~ .bp3-control-indicator{
+    background:rgba(206, 217, 224, 0.5); }
+    .bp3-control.bp3-switch input:disabled ~ .bp3-control-indicator::before{
+      background:rgba(255, 255, 255, 0.8); }
+  .bp3-control.bp3-switch input:checked ~ .bp3-control-indicator{
+    background:#137cbd; }
+  .bp3-control.bp3-switch:hover input:checked ~ .bp3-control-indicator{
+    background:#106ba3; }
+  .bp3-control.bp3-switch input:checked:not(:disabled):active ~ .bp3-control-indicator{
+    background:#0e5a8a; }
+  .bp3-control.bp3-switch input:checked:disabled ~ .bp3-control-indicator{
+    background:rgba(19, 124, 189, 0.5); }
+    .bp3-control.bp3-switch input:checked:disabled ~ .bp3-control-indicator::before{
+      background:rgba(255, 255, 255, 0.8); }
+  .bp3-control.bp3-switch:not(.bp3-align-right){
+    padding-left:38px; }
+    .bp3-control.bp3-switch:not(.bp3-align-right) .bp3-control-indicator{
+      margin-left:-38px; }
+  .bp3-control.bp3-switch.bp3-align-right{
+    padding-right:38px; }
+    .bp3-control.bp3-switch.bp3-align-right .bp3-control-indicator{
+      margin-right:-38px; }
+  .bp3-control.bp3-switch .bp3-control-indicator{
+    border:none;
+    border-radius:1.75em;
+    -webkit-box-shadow:none !important;
+            box-shadow:none !important;
+    min-width:1.75em;
+    -webkit-transition:background-color 100ms cubic-bezier(0.4, 1, 0.75, 0.9);
+    transition:background-color 100ms cubic-bezier(0.4, 1, 0.75, 0.9);
+    width:auto; }
+    .bp3-control.bp3-switch .bp3-control-indicator::before{
+      background:#ffffff;
+      border-radius:50%;
+      -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 1px 1px rgba(16, 22, 26, 0.2);
+              box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 1px 1px rgba(16, 22, 26, 0.2);
+      height:calc(1em - 4px);
+      left:0;
+      margin:2px;
+      position:absolute;
+      -webkit-transition:left 100ms cubic-bezier(0.4, 1, 0.75, 0.9);
+      transition:left 100ms cubic-bezier(0.4, 1, 0.75, 0.9);
+      width:calc(1em - 4px); }
+  .bp3-control.bp3-switch input:checked ~ .bp3-control-indicator::before{
+    left:calc(100% - 1em); }
+  .bp3-control.bp3-switch.bp3-large:not(.bp3-align-right){
+    padding-left:45px; }
+    .bp3-control.bp3-switch.bp3-large:not(.bp3-align-right) .bp3-control-indicator{
+      margin-left:-45px; }
+  .bp3-control.bp3-switch.bp3-large.bp3-align-right{
+    padding-right:45px; }
+    .bp3-control.bp3-switch.bp3-large.bp3-align-right .bp3-control-indicator{
+      margin-right:-45px; }
+  .bp3-dark .bp3-control.bp3-switch input ~ .bp3-control-indicator{
+    background:rgba(16, 22, 26, 0.5); }
+  .bp3-dark .bp3-control.bp3-switch:hover input ~ .bp3-control-indicator{
+    background:rgba(16, 22, 26, 0.7); }
+  .bp3-dark .bp3-control.bp3-switch input:not(:disabled):active ~ .bp3-control-indicator{
+    background:rgba(16, 22, 26, 0.9); }
+  .bp3-dark .bp3-control.bp3-switch input:disabled ~ .bp3-control-indicator{
+    background:rgba(57, 75, 89, 0.5); }
+    .bp3-dark .bp3-control.bp3-switch input:disabled ~ .bp3-control-indicator::before{
+      background:rgba(16, 22, 26, 0.4); }
+  .bp3-dark .bp3-control.bp3-switch input:checked ~ .bp3-control-indicator{
+    background:#137cbd; }
+  .bp3-dark .bp3-control.bp3-switch:hover input:checked ~ .bp3-control-indicator{
+    background:#106ba3; }
+  .bp3-dark .bp3-control.bp3-switch input:checked:not(:disabled):active ~ .bp3-control-indicator{
+    background:#0e5a8a; }
+  .bp3-dark .bp3-control.bp3-switch input:checked:disabled ~ .bp3-control-indicator{
+    background:rgba(14, 90, 138, 0.5); }
+    .bp3-dark .bp3-control.bp3-switch input:checked:disabled ~ .bp3-control-indicator::before{
+      background:rgba(16, 22, 26, 0.4); }
+  .bp3-dark .bp3-control.bp3-switch .bp3-control-indicator::before{
+    background:#394b59;
+    -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4);
+            box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); }
+  .bp3-dark .bp3-control.bp3-switch input:checked ~ .bp3-control-indicator::before{
+    -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4);
+            box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4); }
+  .bp3-control.bp3-switch .bp3-switch-inner-text{
+    font-size:0.7em;
+    text-align:center; }
+  .bp3-control.bp3-switch .bp3-control-indicator-child:first-child{
+    line-height:0;
+    margin-left:0.5em;
+    margin-right:1.2em;
+    visibility:hidden; }
+  .bp3-control.bp3-switch .bp3-control-indicator-child:last-child{
+    line-height:1em;
+    margin-left:1.2em;
+    margin-right:0.5em;
+    visibility:visible; }
+  .bp3-control.bp3-switch input:checked ~ .bp3-control-indicator .bp3-control-indicator-child:first-child{
+    line-height:1em;
+    visibility:visible; }
+  .bp3-control.bp3-switch input:checked ~ .bp3-control-indicator .bp3-control-indicator-child:last-child{
+    line-height:0;
+    visibility:hidden; }
+  .bp3-dark .bp3-control{
+    color:#f5f8fa; }
+    .bp3-dark .bp3-control.bp3-disabled{
+      color:rgba(167, 182, 194, 0.6); }
+    .bp3-dark .bp3-control .bp3-control-indicator{
+      background-color:#394b59;
+      background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.05)), to(rgba(255, 255, 255, 0)));
+      background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0));
+      -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4);
+              box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); }
+    .bp3-dark .bp3-control:hover .bp3-control-indicator{
+      background-color:#30404d; }
+    .bp3-dark .bp3-control input:not(:disabled):active ~ .bp3-control-indicator{
+      background:#202b33;
+      -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.6), inset 0 1px 2px rgba(16, 22, 26, 0.2);
+              box-shadow:0 0 0 1px rgba(16, 22, 26, 0.6), inset 0 1px 2px rgba(16, 22, 26, 0.2); }
+    .bp3-dark .bp3-control input:disabled ~ .bp3-control-indicator{
+      background:rgba(57, 75, 89, 0.5);
+      -webkit-box-shadow:none;
+              box-shadow:none;
+      cursor:not-allowed; }
+    .bp3-dark .bp3-control.bp3-checkbox input:disabled:checked ~ .bp3-control-indicator, .bp3-dark .bp3-control.bp3-checkbox input:disabled:indeterminate ~ .bp3-control-indicator{
+      color:rgba(167, 182, 194, 0.6); }
+.bp3-file-input{
+  cursor:pointer;
+  display:inline-block;
+  height:30px;
+  position:relative; }
+  .bp3-file-input input{
+    margin:0;
+    min-width:200px;
+    opacity:0; }
+    .bp3-file-input input:disabled + .bp3-file-upload-input,
+    .bp3-file-input input.bp3-disabled + .bp3-file-upload-input{
+      background:rgba(206, 217, 224, 0.5);
+      -webkit-box-shadow:none;
+              box-shadow:none;
+      color:rgba(92, 112, 128, 0.6);
+      cursor:not-allowed;
+      resize:none; }
+      .bp3-file-input input:disabled + .bp3-file-upload-input::after,
+      .bp3-file-input input.bp3-disabled + .bp3-file-upload-input::after{
+        background-color:rgba(206, 217, 224, 0.5);
+        background-image:none;
+        -webkit-box-shadow:none;
+                box-shadow:none;
+        color:rgba(92, 112, 128, 0.6);
+        cursor:not-allowed;
+        outline:none; }
+        .bp3-file-input input:disabled + .bp3-file-upload-input::after.bp3-active, .bp3-file-input input:disabled + .bp3-file-upload-input::after.bp3-active:hover,
+        .bp3-file-input input.bp3-disabled + .bp3-file-upload-input::after.bp3-active,
+        .bp3-file-input input.bp3-disabled + .bp3-file-upload-input::after.bp3-active:hover{
+          background:rgba(206, 217, 224, 0.7); }
+      .bp3-dark .bp3-file-input input:disabled + .bp3-file-upload-input, .bp3-dark
+      .bp3-file-input input.bp3-disabled + .bp3-file-upload-input{
+        background:rgba(57, 75, 89, 0.5);
+        -webkit-box-shadow:none;
+                box-shadow:none;
+        color:rgba(167, 182, 194, 0.6); }
+        .bp3-dark .bp3-file-input input:disabled + .bp3-file-upload-input::after, .bp3-dark
+        .bp3-file-input input.bp3-disabled + .bp3-file-upload-input::after{
+          background-color:rgba(57, 75, 89, 0.5);
+          background-image:none;
+          -webkit-box-shadow:none;
+                  box-shadow:none;
+          color:rgba(167, 182, 194, 0.6); }
+          .bp3-dark .bp3-file-input input:disabled + .bp3-file-upload-input::after.bp3-active, .bp3-dark
+          .bp3-file-input input.bp3-disabled + .bp3-file-upload-input::after.bp3-active{
+            background:rgba(57, 75, 89, 0.7); }
+  .bp3-file-input.bp3-file-input-has-selection .bp3-file-upload-input{
+    color:#182026; }
+  .bp3-dark .bp3-file-input.bp3-file-input-has-selection .bp3-file-upload-input{
+    color:#f5f8fa; }
+  .bp3-file-input.bp3-fill{
+    width:100%; }
+  .bp3-file-input.bp3-large,
+  .bp3-large .bp3-file-input{
+    height:40px; }
+  .bp3-file-input .bp3-file-upload-input-custom-text::after{
+    content:attr(bp3-button-text); }
+
+.bp3-file-upload-input{
+  -webkit-appearance:none;
+     -moz-appearance:none;
+          appearance:none;
+  background:#ffffff;
+  border:none;
+  border-radius:3px;
+  -webkit-box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2);
+          box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2);
+  color:#182026;
+  font-size:14px;
+  font-weight:400;
+  height:30px;
+  line-height:30px;
+  outline:none;
+  padding:0 10px;
+  -webkit-transition:-webkit-box-shadow 100ms cubic-bezier(0.4, 1, 0.75, 0.9);
+  transition:-webkit-box-shadow 100ms cubic-bezier(0.4, 1, 0.75, 0.9);
+  transition:box-shadow 100ms cubic-bezier(0.4, 1, 0.75, 0.9);
+  transition:box-shadow 100ms cubic-bezier(0.4, 1, 0.75, 0.9), -webkit-box-shadow 100ms cubic-bezier(0.4, 1, 0.75, 0.9);
+  vertical-align:middle;
+  overflow:hidden;
+  text-overflow:ellipsis;
+  white-space:nowrap;
+  word-wrap:normal;
+  color:rgba(92, 112, 128, 0.6);
+  left:0;
+  padding-right:80px;
+  position:absolute;
+  right:0;
+  top:0;
+  -webkit-user-select:none;
+     -moz-user-select:none;
+      -ms-user-select:none;
+          user-select:none; }
+  .bp3-file-upload-input::-webkit-input-placeholder{
+    color:rgba(92, 112, 128, 0.6);
+    opacity:1; }
+  .bp3-file-upload-input::-moz-placeholder{
+    color:rgba(92, 112, 128, 0.6);
+    opacity:1; }
+  .bp3-file-upload-input:-ms-input-placeholder{
+    color:rgba(92, 112, 128, 0.6);
+    opacity:1; }
+  .bp3-file-upload-input::-ms-input-placeholder{
+    color:rgba(92, 112, 128, 0.6);
+    opacity:1; }
+  .bp3-file-upload-input::placeholder{
+    color:rgba(92, 112, 128, 0.6);
+    opacity:1; }
+  .bp3-file-upload-input:focus, .bp3-file-upload-input.bp3-active{
+    -webkit-box-shadow:0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2);
+            box-shadow:0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); }
+  .bp3-file-upload-input[type="search"], .bp3-file-upload-input.bp3-round{
+    border-radius:30px;
+    -webkit-box-sizing:border-box;
+            box-sizing:border-box;
+    padding-left:10px; }
+  .bp3-file-upload-input[readonly]{
+    -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.15);
+            box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.15); }
+  .bp3-file-upload-input:disabled, .bp3-file-upload-input.bp3-disabled{
+    background:rgba(206, 217, 224, 0.5);
+    -webkit-box-shadow:none;
+            box-shadow:none;
+    color:rgba(92, 112, 128, 0.6);
+    cursor:not-allowed;
+    resize:none; }
+  .bp3-file-upload-input::after{
+    background-color:#f5f8fa;
+    background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.8)), to(rgba(255, 255, 255, 0)));
+    background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0));
+    -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1);
+            box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1);
+    color:#182026;
+    min-height:24px;
+    min-width:24px;
+    overflow:hidden;
+    text-overflow:ellipsis;
+    white-space:nowrap;
+    word-wrap:normal;
+    border-radius:3px;
+    content:"Browse";
+    line-height:24px;
+    margin:3px;
+    position:absolute;
+    right:0;
+    text-align:center;
+    top:0;
+    width:70px; }
+    .bp3-file-upload-input::after:hover{
+      background-clip:padding-box;
+      background-color:#ebf1f5;
+      -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1);
+              box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); }
+    .bp3-file-upload-input::after:active, .bp3-file-upload-input::after.bp3-active{
+      background-color:#d8e1e8;
+      background-image:none;
+      -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 1px 2px rgba(16, 22, 26, 0.2);
+              box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 1px 2px rgba(16, 22, 26, 0.2); }
+    .bp3-file-upload-input::after:disabled, .bp3-file-upload-input::after.bp3-disabled{
+      background-color:rgba(206, 217, 224, 0.5);
+      background-image:none;
+      -webkit-box-shadow:none;
+              box-shadow:none;
+      color:rgba(92, 112, 128, 0.6);
+      cursor:not-allowed;
+      outline:none; }
+      .bp3-file-upload-input::after:disabled.bp3-active, .bp3-file-upload-input::after:disabled.bp3-active:hover, .bp3-file-upload-input::after.bp3-disabled.bp3-active, .bp3-file-upload-input::after.bp3-disabled.bp3-active:hover{
+        background:rgba(206, 217, 224, 0.7); }
+  .bp3-file-upload-input:hover::after{
+    background-clip:padding-box;
+    background-color:#ebf1f5;
+    -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1);
+            box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); }
+  .bp3-file-upload-input:active::after{
+    background-color:#d8e1e8;
+    background-image:none;
+    -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 1px 2px rgba(16, 22, 26, 0.2);
+            box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 1px 2px rgba(16, 22, 26, 0.2); }
+  .bp3-large .bp3-file-upload-input{
+    font-size:16px;
+    height:40px;
+    line-height:40px;
+    padding-right:95px; }
+    .bp3-large .bp3-file-upload-input[type="search"], .bp3-large .bp3-file-upload-input.bp3-round{
+      padding:0 15px; }
+    .bp3-large .bp3-file-upload-input::after{
+      min-height:30px;
+      min-width:30px;
+      line-height:30px;
+      margin:5px;
+      width:85px; }
+  .bp3-dark .bp3-file-upload-input{
+    background:rgba(16, 22, 26, 0.3);
+    -webkit-box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4);
+            box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4);
+    color:#f5f8fa;
+    color:rgba(167, 182, 194, 0.6); }
+    .bp3-dark .bp3-file-upload-input::-webkit-input-placeholder{
+      color:rgba(167, 182, 194, 0.6); }
+    .bp3-dark .bp3-file-upload-input::-moz-placeholder{
+      color:rgba(167, 182, 194, 0.6); }
+    .bp3-dark .bp3-file-upload-input:-ms-input-placeholder{
+      color:rgba(167, 182, 194, 0.6); }
+    .bp3-dark .bp3-file-upload-input::-ms-input-placeholder{
+      color:rgba(167, 182, 194, 0.6); }
+    .bp3-dark .bp3-file-upload-input::placeholder{
+      color:rgba(167, 182, 194, 0.6); }
+    .bp3-dark .bp3-file-upload-input:focus{
+      -webkit-box-shadow:0 0 0 1px #137cbd, 0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4);
+              box-shadow:0 0 0 1px #137cbd, 0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); }
+    .bp3-dark .bp3-file-upload-input[readonly]{
+      -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4);
+              box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4); }
+    .bp3-dark .bp3-file-upload-input:disabled, .bp3-dark .bp3-file-upload-input.bp3-disabled{
+      background:rgba(57, 75, 89, 0.5);
+      -webkit-box-shadow:none;
+              box-shadow:none;
+      color:rgba(167, 182, 194, 0.6); }
+    .bp3-dark .bp3-file-upload-input::after{
+      background-color:#394b59;
+      background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.05)), to(rgba(255, 255, 255, 0)));
+      background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0));
+      -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4);
+              box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4);
+      color:#f5f8fa; }
+      .bp3-dark .bp3-file-upload-input::after:hover, .bp3-dark .bp3-file-upload-input::after:active, .bp3-dark .bp3-file-upload-input::after.bp3-active{
+        color:#f5f8fa; }
+      .bp3-dark .bp3-file-upload-input::after:hover{
+        background-color:#30404d;
+        -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4);
+                box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); }
+      .bp3-dark .bp3-file-upload-input::after:active, .bp3-dark .bp3-file-upload-input::after.bp3-active{
+        background-color:#202b33;
+        background-image:none;
+        -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.6), inset 0 1px 2px rgba(16, 22, 26, 0.2);
+                box-shadow:0 0 0 1px rgba(16, 22, 26, 0.6), inset 0 1px 2px rgba(16, 22, 26, 0.2); }
+      .bp3-dark .bp3-file-upload-input::after:disabled, .bp3-dark .bp3-file-upload-input::after.bp3-disabled{
+        background-color:rgba(57, 75, 89, 0.5);
+        background-image:none;
+        -webkit-box-shadow:none;
+                box-shadow:none;
+        color:rgba(167, 182, 194, 0.6); }
+        .bp3-dark .bp3-file-upload-input::after:disabled.bp3-active, .bp3-dark .bp3-file-upload-input::after.bp3-disabled.bp3-active{
+          background:rgba(57, 75, 89, 0.7); }
+      .bp3-dark .bp3-file-upload-input::after .bp3-button-spinner .bp3-spinner-head{
+        background:rgba(16, 22, 26, 0.5);
+        stroke:#8a9ba8; }
+    .bp3-dark .bp3-file-upload-input:hover::after{
+      background-color:#30404d;
+      -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4);
+              box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); }
+    .bp3-dark .bp3-file-upload-input:active::after{
+      background-color:#202b33;
+      background-image:none;
+      -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.6), inset 0 1px 2px rgba(16, 22, 26, 0.2);
+              box-shadow:0 0 0 1px rgba(16, 22, 26, 0.6), inset 0 1px 2px rgba(16, 22, 26, 0.2); }
+.bp3-file-upload-input::after{
+  -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1);
+          box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); }
+.bp3-form-group{
+  display:-webkit-box;
+  display:-ms-flexbox;
+  display:flex;
+  -webkit-box-orient:vertical;
+  -webkit-box-direction:normal;
+      -ms-flex-direction:column;
+          flex-direction:column;
+  margin:0 0 15px; }
+  .bp3-form-group label.bp3-label{
+    margin-bottom:5px; }
+  .bp3-form-group .bp3-control{
+    margin-top:7px; }
+  .bp3-form-group .bp3-form-helper-text{
+    color:#5c7080;
+    font-size:12px;
+    margin-top:5px; }
+  .bp3-form-group.bp3-intent-primary .bp3-form-helper-text{
+    color:#106ba3; }
+  .bp3-form-group.bp3-intent-success .bp3-form-helper-text{
+    color:#0d8050; }
+  .bp3-form-group.bp3-intent-warning .bp3-form-helper-text{
+    color:#bf7326; }
+  .bp3-form-group.bp3-intent-danger .bp3-form-helper-text{
+    color:#c23030; }
+  .bp3-form-group.bp3-inline{
+    -webkit-box-align:start;
+        -ms-flex-align:start;
+            align-items:flex-start;
+    -webkit-box-orient:horizontal;
+    -webkit-box-direction:normal;
+        -ms-flex-direction:row;
+            flex-direction:row; }
+    .bp3-form-group.bp3-inline.bp3-large label.bp3-label{
+      line-height:40px;
+      margin:0 10px 0 0; }
+    .bp3-form-group.bp3-inline label.bp3-label{
+      line-height:30px;
+      margin:0 10px 0 0; }
+  .bp3-form-group.bp3-disabled .bp3-label,
+  .bp3-form-group.bp3-disabled .bp3-text-muted,
+  .bp3-form-group.bp3-disabled .bp3-form-helper-text{
+    color:rgba(92, 112, 128, 0.6) !important; }
+  .bp3-dark .bp3-form-group.bp3-intent-primary .bp3-form-helper-text{
+    color:#48aff0; }
+  .bp3-dark .bp3-form-group.bp3-intent-success .bp3-form-helper-text{
+    color:#3dcc91; }
+  .bp3-dark .bp3-form-group.bp3-intent-warning .bp3-form-helper-text{
+    color:#ffb366; }
+  .bp3-dark .bp3-form-group.bp3-intent-danger .bp3-form-helper-text{
+    color:#ff7373; }
+  .bp3-dark .bp3-form-group .bp3-form-helper-text{
+    color:#a7b6c2; }
+  .bp3-dark .bp3-form-group.bp3-disabled .bp3-label,
+  .bp3-dark .bp3-form-group.bp3-disabled .bp3-text-muted,
+  .bp3-dark .bp3-form-group.bp3-disabled .bp3-form-helper-text{
+    color:rgba(167, 182, 194, 0.6) !important; }
+.bp3-input-group{
+  display:block;
+  position:relative; }
+  .bp3-input-group .bp3-input{
+    position:relative;
+    width:100%; }
+    .bp3-input-group .bp3-input:not(:first-child){
+      padding-left:30px; }
+    .bp3-input-group .bp3-input:not(:last-child){
+      padding-right:30px; }
+  .bp3-input-group .bp3-input-action,
+  .bp3-input-group > .bp3-input-left-container,
+  .bp3-input-group > .bp3-button,
+  .bp3-input-group > .bp3-icon{
+    position:absolute;
+    top:0; }
+    .bp3-input-group .bp3-input-action:first-child,
+    .bp3-input-group > .bp3-input-left-container:first-child,
+    .bp3-input-group > .bp3-button:first-child,
+    .bp3-input-group > .bp3-icon:first-child{
+      left:0; }
+    .bp3-input-group .bp3-input-action:last-child,
+    .bp3-input-group > .bp3-input-left-container:last-child,
+    .bp3-input-group > .bp3-button:last-child,
+    .bp3-input-group > .bp3-icon:last-child{
+      right:0; }
+  .bp3-input-group .bp3-button{
+    min-height:24px;
+    min-width:24px;
+    margin:3px;
+    padding:0 7px; }
+    .bp3-input-group .bp3-button:empty{
+      padding:0; }
+  .bp3-input-group > .bp3-input-left-container,
+  .bp3-input-group > .bp3-icon{
+    z-index:1; }
+  .bp3-input-group > .bp3-input-left-container > .bp3-icon,
+  .bp3-input-group > .bp3-icon{
+    color:#5c7080; }
+    .bp3-input-group > .bp3-input-left-container > .bp3-icon:empty,
+    .bp3-input-group > .bp3-icon:empty{
+      font-family:"Icons16", sans-serif;
+      font-size:16px;
+      font-style:normal;
+      font-weight:400;
+      line-height:1;
+      -moz-osx-font-smoothing:grayscale;
+      -webkit-font-smoothing:antialiased; }
+  .bp3-input-group > .bp3-input-left-container > .bp3-icon,
+  .bp3-input-group > .bp3-icon,
+  .bp3-input-group .bp3-input-action > .bp3-spinner{
+    margin:7px; }
+  .bp3-input-group .bp3-tag{
+    margin:5px; }
+  .bp3-input-group .bp3-input:not(:focus) + .bp3-button.bp3-minimal:not(:hover):not(:focus),
+  .bp3-input-group .bp3-input:not(:focus) + .bp3-input-action .bp3-button.bp3-minimal:not(:hover):not(:focus){
+    color:#5c7080; }
+    .bp3-dark .bp3-input-group .bp3-input:not(:focus) + .bp3-button.bp3-minimal:not(:hover):not(:focus), .bp3-dark
+    .bp3-input-group .bp3-input:not(:focus) + .bp3-input-action .bp3-button.bp3-minimal:not(:hover):not(:focus){
+      color:#a7b6c2; }
+    .bp3-input-group .bp3-input:not(:focus) + .bp3-button.bp3-minimal:not(:hover):not(:focus) .bp3-icon, .bp3-input-group .bp3-input:not(:focus) + .bp3-button.bp3-minimal:not(:hover):not(:focus) .bp3-icon-standard, .bp3-input-group .bp3-input:not(:focus) + .bp3-button.bp3-minimal:not(:hover):not(:focus) .bp3-icon-large,
+    .bp3-input-group .bp3-input:not(:focus) + .bp3-input-action .bp3-button.bp3-minimal:not(:hover):not(:focus) .bp3-icon,
+    .bp3-input-group .bp3-input:not(:focus) + .bp3-input-action .bp3-button.bp3-minimal:not(:hover):not(:focus) .bp3-icon-standard,
+    .bp3-input-group .bp3-input:not(:focus) + .bp3-input-action .bp3-button.bp3-minimal:not(:hover):not(:focus) .bp3-icon-large{
+      color:#5c7080; }
+  .bp3-input-group .bp3-input:not(:focus) + .bp3-button.bp3-minimal:disabled,
+  .bp3-input-group .bp3-input:not(:focus) + .bp3-input-action .bp3-button.bp3-minimal:disabled{
+    color:rgba(92, 112, 128, 0.6) !important; }
+    .bp3-input-group .bp3-input:not(:focus) + .bp3-button.bp3-minimal:disabled .bp3-icon, .bp3-input-group .bp3-input:not(:focus) + .bp3-button.bp3-minimal:disabled .bp3-icon-standard, .bp3-input-group .bp3-input:not(:focus) + .bp3-button.bp3-minimal:disabled .bp3-icon-large,
+    .bp3-input-group .bp3-input:not(:focus) + .bp3-input-action .bp3-button.bp3-minimal:disabled .bp3-icon,
+    .bp3-input-group .bp3-input:not(:focus) + .bp3-input-action .bp3-button.bp3-minimal:disabled .bp3-icon-standard,
+    .bp3-input-group .bp3-input:not(:focus) + .bp3-input-action .bp3-button.bp3-minimal:disabled .bp3-icon-large{
+      color:rgba(92, 112, 128, 0.6) !important; }
+  .bp3-input-group.bp3-disabled{
+    cursor:not-allowed; }
+    .bp3-input-group.bp3-disabled .bp3-icon{
+      color:rgba(92, 112, 128, 0.6); }
+  .bp3-input-group.bp3-large .bp3-button{
+    min-height:30px;
+    min-width:30px;
+    margin:5px; }
+  .bp3-input-group.bp3-large > .bp3-input-left-container > .bp3-icon,
+  .bp3-input-group.bp3-large > .bp3-icon,
+  .bp3-input-group.bp3-large .bp3-input-action > .bp3-spinner{
+    margin:12px; }
+  .bp3-input-group.bp3-large .bp3-input{
+    font-size:16px;
+    height:40px;
+    line-height:40px; }
+    .bp3-input-group.bp3-large .bp3-input[type="search"], .bp3-input-group.bp3-large .bp3-input.bp3-round{
+      padding:0 15px; }
+    .bp3-input-group.bp3-large .bp3-input:not(:first-child){
+      padding-left:40px; }
+    .bp3-input-group.bp3-large .bp3-input:not(:last-child){
+      padding-right:40px; }
+  .bp3-input-group.bp3-small .bp3-button{
+    min-height:20px;
+    min-width:20px;
+    margin:2px; }
+  .bp3-input-group.bp3-small .bp3-tag{
+    min-height:20px;
+    min-width:20px;
+    margin:2px; }
+  .bp3-input-group.bp3-small > .bp3-input-left-container > .bp3-icon,
+  .bp3-input-group.bp3-small > .bp3-icon,
+  .bp3-input-group.bp3-small .bp3-input-action > .bp3-spinner{
+    margin:4px; }
+  .bp3-input-group.bp3-small .bp3-input{
+    font-size:12px;
+    height:24px;
+    line-height:24px;
+    padding-left:8px;
+    padding-right:8px; }
+    .bp3-input-group.bp3-small .bp3-input[type="search"], .bp3-input-group.bp3-small .bp3-input.bp3-round{
+      padding:0 12px; }
+    .bp3-input-group.bp3-small .bp3-input:not(:first-child){
+      padding-left:24px; }
+    .bp3-input-group.bp3-small .bp3-input:not(:last-child){
+      padding-right:24px; }
+  .bp3-input-group.bp3-fill{
+    -webkit-box-flex:1;
+        -ms-flex:1 1 auto;
+            flex:1 1 auto;
+    width:100%; }
+  .bp3-input-group.bp3-round .bp3-button,
+  .bp3-input-group.bp3-round .bp3-input,
+  .bp3-input-group.bp3-round .bp3-tag{
+    border-radius:30px; }
+  .bp3-dark .bp3-input-group .bp3-icon{
+    color:#a7b6c2; }
+  .bp3-dark .bp3-input-group.bp3-disabled .bp3-icon{
+    color:rgba(167, 182, 194, 0.6); }
+  .bp3-input-group.bp3-intent-primary .bp3-input{
+    -webkit-box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px #137cbd, inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2);
+            box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px #137cbd, inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2); }
+    .bp3-input-group.bp3-intent-primary .bp3-input:focus{
+      -webkit-box-shadow:0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2);
+              box-shadow:0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); }
+    .bp3-input-group.bp3-intent-primary .bp3-input[readonly]{
+      -webkit-box-shadow:inset 0 0 0 1px #137cbd;
+              box-shadow:inset 0 0 0 1px #137cbd; }
+    .bp3-input-group.bp3-intent-primary .bp3-input:disabled, .bp3-input-group.bp3-intent-primary .bp3-input.bp3-disabled{
+      -webkit-box-shadow:none;
+              box-shadow:none; }
+  .bp3-input-group.bp3-intent-primary > .bp3-icon{
+    color:#106ba3; }
+    .bp3-dark .bp3-input-group.bp3-intent-primary > .bp3-icon{
+      color:#48aff0; }
+  .bp3-input-group.bp3-intent-success .bp3-input{
+    -webkit-box-shadow:0 0 0 0 rgba(15, 153, 96, 0), 0 0 0 0 rgba(15, 153, 96, 0), inset 0 0 0 1px #0f9960, inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2);
+            box-shadow:0 0 0 0 rgba(15, 153, 96, 0), 0 0 0 0 rgba(15, 153, 96, 0), inset 0 0 0 1px #0f9960, inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2); }
+    .bp3-input-group.bp3-intent-success .bp3-input:focus{
+      -webkit-box-shadow:0 0 0 1px #0f9960, 0 0 0 3px rgba(15, 153, 96, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2);
+              box-shadow:0 0 0 1px #0f9960, 0 0 0 3px rgba(15, 153, 96, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); }
+    .bp3-input-group.bp3-intent-success .bp3-input[readonly]{
+      -webkit-box-shadow:inset 0 0 0 1px #0f9960;
+              box-shadow:inset 0 0 0 1px #0f9960; }
+    .bp3-input-group.bp3-intent-success .bp3-input:disabled, .bp3-input-group.bp3-intent-success .bp3-input.bp3-disabled{
+      -webkit-box-shadow:none;
+              box-shadow:none; }
+  .bp3-input-group.bp3-intent-success > .bp3-icon{
+    color:#0d8050; }
+    .bp3-dark .bp3-input-group.bp3-intent-success > .bp3-icon{
+      color:#3dcc91; }
+  .bp3-input-group.bp3-intent-warning .bp3-input{
+    -webkit-box-shadow:0 0 0 0 rgba(217, 130, 43, 0), 0 0 0 0 rgba(217, 130, 43, 0), inset 0 0 0 1px #d9822b, inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2);
+            box-shadow:0 0 0 0 rgba(217, 130, 43, 0), 0 0 0 0 rgba(217, 130, 43, 0), inset 0 0 0 1px #d9822b, inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2); }
+    .bp3-input-group.bp3-intent-warning .bp3-input:focus{
+      -webkit-box-shadow:0 0 0 1px #d9822b, 0 0 0 3px rgba(217, 130, 43, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2);
+              box-shadow:0 0 0 1px #d9822b, 0 0 0 3px rgba(217, 130, 43, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); }
+    .bp3-input-group.bp3-intent-warning .bp3-input[readonly]{
+      -webkit-box-shadow:inset 0 0 0 1px #d9822b;
+              box-shadow:inset 0 0 0 1px #d9822b; }
+    .bp3-input-group.bp3-intent-warning .bp3-input:disabled, .bp3-input-group.bp3-intent-warning .bp3-input.bp3-disabled{
+      -webkit-box-shadow:none;
+              box-shadow:none; }
+  .bp3-input-group.bp3-intent-warning > .bp3-icon{
+    color:#bf7326; }
+    .bp3-dark .bp3-input-group.bp3-intent-warning > .bp3-icon{
+      color:#ffb366; }
+  .bp3-input-group.bp3-intent-danger .bp3-input{
+    -webkit-box-shadow:0 0 0 0 rgba(219, 55, 55, 0), 0 0 0 0 rgba(219, 55, 55, 0), inset 0 0 0 1px #db3737, inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2);
+            box-shadow:0 0 0 0 rgba(219, 55, 55, 0), 0 0 0 0 rgba(219, 55, 55, 0), inset 0 0 0 1px #db3737, inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2); }
+    .bp3-input-group.bp3-intent-danger .bp3-input:focus{
+      -webkit-box-shadow:0 0 0 1px #db3737, 0 0 0 3px rgba(219, 55, 55, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2);
+              box-shadow:0 0 0 1px #db3737, 0 0 0 3px rgba(219, 55, 55, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); }
+    .bp3-input-group.bp3-intent-danger .bp3-input[readonly]{
+      -webkit-box-shadow:inset 0 0 0 1px #db3737;
+              box-shadow:inset 0 0 0 1px #db3737; }
+    .bp3-input-group.bp3-intent-danger .bp3-input:disabled, .bp3-input-group.bp3-intent-danger .bp3-input.bp3-disabled{
+      -webkit-box-shadow:none;
+              box-shadow:none; }
+  .bp3-input-group.bp3-intent-danger > .bp3-icon{
+    color:#c23030; }
+    .bp3-dark .bp3-input-group.bp3-intent-danger > .bp3-icon{
+      color:#ff7373; }
+.bp3-input{
+  -webkit-appearance:none;
+     -moz-appearance:none;
+          appearance:none;
+  background:#ffffff;
+  border:none;
+  border-radius:3px;
+  -webkit-box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2);
+          box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2);
+  color:#182026;
+  font-size:14px;
+  font-weight:400;
+  height:30px;
+  line-height:30px;
+  outline:none;
+  padding:0 10px;
+  -webkit-transition:-webkit-box-shadow 100ms cubic-bezier(0.4, 1, 0.75, 0.9);
+  transition:-webkit-box-shadow 100ms cubic-bezier(0.4, 1, 0.75, 0.9);
+  transition:box-shadow 100ms cubic-bezier(0.4, 1, 0.75, 0.9);
+  transition:box-shadow 100ms cubic-bezier(0.4, 1, 0.75, 0.9), -webkit-box-shadow 100ms cubic-bezier(0.4, 1, 0.75, 0.9);
+  vertical-align:middle; }
+  .bp3-input::-webkit-input-placeholder{
+    color:rgba(92, 112, 128, 0.6);
+    opacity:1; }
+  .bp3-input::-moz-placeholder{
+    color:rgba(92, 112, 128, 0.6);
+    opacity:1; }
+  .bp3-input:-ms-input-placeholder{
+    color:rgba(92, 112, 128, 0.6);
+    opacity:1; }
+  .bp3-input::-ms-input-placeholder{
+    color:rgba(92, 112, 128, 0.6);
+    opacity:1; }
+  .bp3-input::placeholder{
+    color:rgba(92, 112, 128, 0.6);
+    opacity:1; }
+  .bp3-input:focus, .bp3-input.bp3-active{
+    -webkit-box-shadow:0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2);
+            box-shadow:0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); }
+  .bp3-input[type="search"], .bp3-input.bp3-round{
+    border-radius:30px;
+    -webkit-box-sizing:border-box;
+            box-sizing:border-box;
+    padding-left:10px; }
+  .bp3-input[readonly]{
+    -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.15);
+            box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.15); }
+  .bp3-input:disabled, .bp3-input.bp3-disabled{
+    background:rgba(206, 217, 224, 0.5);
+    -webkit-box-shadow:none;
+            box-shadow:none;
+    color:rgba(92, 112, 128, 0.6);
+    cursor:not-allowed;
+    resize:none; }
+  .bp3-input.bp3-large{
+    font-size:16px;
+    height:40px;
+    line-height:40px; }
+    .bp3-input.bp3-large[type="search"], .bp3-input.bp3-large.bp3-round{
+      padding:0 15px; }
+  .bp3-input.bp3-small{
+    font-size:12px;
+    height:24px;
+    line-height:24px;
+    padding-left:8px;
+    padding-right:8px; }
+    .bp3-input.bp3-small[type="search"], .bp3-input.bp3-small.bp3-round{
+      padding:0 12px; }
+  .bp3-input.bp3-fill{
+    -webkit-box-flex:1;
+        -ms-flex:1 1 auto;
+            flex:1 1 auto;
+    width:100%; }
+  .bp3-dark .bp3-input{
+    background:rgba(16, 22, 26, 0.3);
+    -webkit-box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4);
+            box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4);
+    color:#f5f8fa; }
+    .bp3-dark .bp3-input::-webkit-input-placeholder{
+      color:rgba(167, 182, 194, 0.6); }
+    .bp3-dark .bp3-input::-moz-placeholder{
+      color:rgba(167, 182, 194, 0.6); }
+    .bp3-dark .bp3-input:-ms-input-placeholder{
+      color:rgba(167, 182, 194, 0.6); }
+    .bp3-dark .bp3-input::-ms-input-placeholder{
+      color:rgba(167, 182, 194, 0.6); }
+    .bp3-dark .bp3-input::placeholder{
+      color:rgba(167, 182, 194, 0.6); }
+    .bp3-dark .bp3-input:focus{
+      -webkit-box-shadow:0 0 0 1px #137cbd, 0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4);
+              box-shadow:0 0 0 1px #137cbd, 0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); }
+    .bp3-dark .bp3-input[readonly]{
+      -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4);
+              box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4); }
+    .bp3-dark .bp3-input:disabled, .bp3-dark .bp3-input.bp3-disabled{
+      background:rgba(57, 75, 89, 0.5);
+      -webkit-box-shadow:none;
+              box-shadow:none;
+      color:rgba(167, 182, 194, 0.6); }
+  .bp3-input.bp3-intent-primary{
+    -webkit-box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px #137cbd, inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2);
+            box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px #137cbd, inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2); }
+    .bp3-input.bp3-intent-primary:focus{
+      -webkit-box-shadow:0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2);
+              box-shadow:0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); }
+    .bp3-input.bp3-intent-primary[readonly]{
+      -webkit-box-shadow:inset 0 0 0 1px #137cbd;
+              box-shadow:inset 0 0 0 1px #137cbd; }
+    .bp3-input.bp3-intent-primary:disabled, .bp3-input.bp3-intent-primary.bp3-disabled{
+      -webkit-box-shadow:none;
+              box-shadow:none; }
+    .bp3-dark .bp3-input.bp3-intent-primary{
+      -webkit-box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px #137cbd, inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4);
+              box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px #137cbd, inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); }
+      .bp3-dark .bp3-input.bp3-intent-primary:focus{
+        -webkit-box-shadow:0 0 0 1px #137cbd, 0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4);
+                box-shadow:0 0 0 1px #137cbd, 0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); }
+      .bp3-dark .bp3-input.bp3-intent-primary[readonly]{
+        -webkit-box-shadow:inset 0 0 0 1px #137cbd;
+                box-shadow:inset 0 0 0 1px #137cbd; }
+      .bp3-dark .bp3-input.bp3-intent-primary:disabled, .bp3-dark .bp3-input.bp3-intent-primary.bp3-disabled{
+        -webkit-box-shadow:none;
+                box-shadow:none; }
+  .bp3-input.bp3-intent-success{
+    -webkit-box-shadow:0 0 0 0 rgba(15, 153, 96, 0), 0 0 0 0 rgba(15, 153, 96, 0), inset 0 0 0 1px #0f9960, inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2);
+            box-shadow:0 0 0 0 rgba(15, 153, 96, 0), 0 0 0 0 rgba(15, 153, 96, 0), inset 0 0 0 1px #0f9960, inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2); }
+    .bp3-input.bp3-intent-success:focus{
+      -webkit-box-shadow:0 0 0 1px #0f9960, 0 0 0 3px rgba(15, 153, 96, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2);
+              box-shadow:0 0 0 1px #0f9960, 0 0 0 3px rgba(15, 153, 96, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); }
+    .bp3-input.bp3-intent-success[readonly]{
+      -webkit-box-shadow:inset 0 0 0 1px #0f9960;
+              box-shadow:inset 0 0 0 1px #0f9960; }
+    .bp3-input.bp3-intent-success:disabled, .bp3-input.bp3-intent-success.bp3-disabled{
+      -webkit-box-shadow:none;
+              box-shadow:none; }
+    .bp3-dark .bp3-input.bp3-intent-success{
+      -webkit-box-shadow:0 0 0 0 rgba(15, 153, 96, 0), 0 0 0 0 rgba(15, 153, 96, 0), 0 0 0 0 rgba(15, 153, 96, 0), inset 0 0 0 1px #0f9960, inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4);
+              box-shadow:0 0 0 0 rgba(15, 153, 96, 0), 0 0 0 0 rgba(15, 153, 96, 0), 0 0 0 0 rgba(15, 153, 96, 0), inset 0 0 0 1px #0f9960, inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); }
+      .bp3-dark .bp3-input.bp3-intent-success:focus{
+        -webkit-box-shadow:0 0 0 1px #0f9960, 0 0 0 1px #0f9960, 0 0 0 3px rgba(15, 153, 96, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4);
+                box-shadow:0 0 0 1px #0f9960, 0 0 0 1px #0f9960, 0 0 0 3px rgba(15, 153, 96, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); }
+      .bp3-dark .bp3-input.bp3-intent-success[readonly]{
+        -webkit-box-shadow:inset 0 0 0 1px #0f9960;
+                box-shadow:inset 0 0 0 1px #0f9960; }
+      .bp3-dark .bp3-input.bp3-intent-success:disabled, .bp3-dark .bp3-input.bp3-intent-success.bp3-disabled{
+        -webkit-box-shadow:none;
+                box-shadow:none; }
+  .bp3-input.bp3-intent-warning{
+    -webkit-box-shadow:0 0 0 0 rgba(217, 130, 43, 0), 0 0 0 0 rgba(217, 130, 43, 0), inset 0 0 0 1px #d9822b, inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2);
+            box-shadow:0 0 0 0 rgba(217, 130, 43, 0), 0 0 0 0 rgba(217, 130, 43, 0), inset 0 0 0 1px #d9822b, inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2); }
+    .bp3-input.bp3-intent-warning:focus{
+      -webkit-box-shadow:0 0 0 1px #d9822b, 0 0 0 3px rgba(217, 130, 43, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2);
+              box-shadow:0 0 0 1px #d9822b, 0 0 0 3px rgba(217, 130, 43, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); }
+    .bp3-input.bp3-intent-warning[readonly]{
+      -webkit-box-shadow:inset 0 0 0 1px #d9822b;
+              box-shadow:inset 0 0 0 1px #d9822b; }
+    .bp3-input.bp3-intent-warning:disabled, .bp3-input.bp3-intent-warning.bp3-disabled{
+      -webkit-box-shadow:none;
+              box-shadow:none; }
+    .bp3-dark .bp3-input.bp3-intent-warning{
+      -webkit-box-shadow:0 0 0 0 rgba(217, 130, 43, 0), 0 0 0 0 rgba(217, 130, 43, 0), 0 0 0 0 rgba(217, 130, 43, 0), inset 0 0 0 1px #d9822b, inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4);
+              box-shadow:0 0 0 0 rgba(217, 130, 43, 0), 0 0 0 0 rgba(217, 130, 43, 0), 0 0 0 0 rgba(217, 130, 43, 0), inset 0 0 0 1px #d9822b, inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); }
+      .bp3-dark .bp3-input.bp3-intent-warning:focus{
+        -webkit-box-shadow:0 0 0 1px #d9822b, 0 0 0 1px #d9822b, 0 0 0 3px rgba(217, 130, 43, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4);
+                box-shadow:0 0 0 1px #d9822b, 0 0 0 1px #d9822b, 0 0 0 3px rgba(217, 130, 43, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); }
+      .bp3-dark .bp3-input.bp3-intent-warning[readonly]{
+        -webkit-box-shadow:inset 0 0 0 1px #d9822b;
+                box-shadow:inset 0 0 0 1px #d9822b; }
+      .bp3-dark .bp3-input.bp3-intent-warning:disabled, .bp3-dark .bp3-input.bp3-intent-warning.bp3-disabled{
+        -webkit-box-shadow:none;
+                box-shadow:none; }
+  .bp3-input.bp3-intent-danger{
+    -webkit-box-shadow:0 0 0 0 rgba(219, 55, 55, 0), 0 0 0 0 rgba(219, 55, 55, 0), inset 0 0 0 1px #db3737, inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2);
+            box-shadow:0 0 0 0 rgba(219, 55, 55, 0), 0 0 0 0 rgba(219, 55, 55, 0), inset 0 0 0 1px #db3737, inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2); }
+    .bp3-input.bp3-intent-danger:focus{
+      -webkit-box-shadow:0 0 0 1px #db3737, 0 0 0 3px rgba(219, 55, 55, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2);
+              box-shadow:0 0 0 1px #db3737, 0 0 0 3px rgba(219, 55, 55, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); }
+    .bp3-input.bp3-intent-danger[readonly]{
+      -webkit-box-shadow:inset 0 0 0 1px #db3737;
+              box-shadow:inset 0 0 0 1px #db3737; }
+    .bp3-input.bp3-intent-danger:disabled, .bp3-input.bp3-intent-danger.bp3-disabled{
+      -webkit-box-shadow:none;
+              box-shadow:none; }
+    .bp3-dark .bp3-input.bp3-intent-danger{
+      -webkit-box-shadow:0 0 0 0 rgba(219, 55, 55, 0), 0 0 0 0 rgba(219, 55, 55, 0), 0 0 0 0 rgba(219, 55, 55, 0), inset 0 0 0 1px #db3737, inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4);
+              box-shadow:0 0 0 0 rgba(219, 55, 55, 0), 0 0 0 0 rgba(219, 55, 55, 0), 0 0 0 0 rgba(219, 55, 55, 0), inset 0 0 0 1px #db3737, inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); }
+      .bp3-dark .bp3-input.bp3-intent-danger:focus{
+        -webkit-box-shadow:0 0 0 1px #db3737, 0 0 0 1px #db3737, 0 0 0 3px rgba(219, 55, 55, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4);
+                box-shadow:0 0 0 1px #db3737, 0 0 0 1px #db3737, 0 0 0 3px rgba(219, 55, 55, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); }
+      .bp3-dark .bp3-input.bp3-intent-danger[readonly]{
+        -webkit-box-shadow:inset 0 0 0 1px #db3737;
+                box-shadow:inset 0 0 0 1px #db3737; }
+      .bp3-dark .bp3-input.bp3-intent-danger:disabled, .bp3-dark .bp3-input.bp3-intent-danger.bp3-disabled{
+        -webkit-box-shadow:none;
+                box-shadow:none; }
+  .bp3-input::-ms-clear{
+    display:none; }
+textarea.bp3-input{
+  max-width:100%;
+  padding:10px; }
+  textarea.bp3-input, textarea.bp3-input.bp3-large, textarea.bp3-input.bp3-small{
+    height:auto;
+    line-height:inherit; }
+  textarea.bp3-input.bp3-small{
+    padding:8px; }
+  .bp3-dark textarea.bp3-input{
+    background:rgba(16, 22, 26, 0.3);
+    -webkit-box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4);
+            box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4);
+    color:#f5f8fa; }
+    .bp3-dark textarea.bp3-input::-webkit-input-placeholder{
+      color:rgba(167, 182, 194, 0.6); }
+    .bp3-dark textarea.bp3-input::-moz-placeholder{
+      color:rgba(167, 182, 194, 0.6); }
+    .bp3-dark textarea.bp3-input:-ms-input-placeholder{
+      color:rgba(167, 182, 194, 0.6); }
+    .bp3-dark textarea.bp3-input::-ms-input-placeholder{
+      color:rgba(167, 182, 194, 0.6); }
+    .bp3-dark textarea.bp3-input::placeholder{
+      color:rgba(167, 182, 194, 0.6); }
+    .bp3-dark textarea.bp3-input:focus{
+      -webkit-box-shadow:0 0 0 1px #137cbd, 0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4);
+              box-shadow:0 0 0 1px #137cbd, 0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); }
+    .bp3-dark textarea.bp3-input[readonly]{
+      -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4);
+              box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4); }
+    .bp3-dark textarea.bp3-input:disabled, .bp3-dark textarea.bp3-input.bp3-disabled{
+      background:rgba(57, 75, 89, 0.5);
+      -webkit-box-shadow:none;
+              box-shadow:none;
+      color:rgba(167, 182, 194, 0.6); }
+label.bp3-label{
+  display:block;
+  margin-bottom:15px;
+  margin-top:0; }
+  label.bp3-label .bp3-html-select,
+  label.bp3-label .bp3-input,
+  label.bp3-label .bp3-select,
+  label.bp3-label .bp3-slider,
+  label.bp3-label .bp3-popover-wrapper{
+    display:block;
+    margin-top:5px;
+    text-transform:none; }
+  label.bp3-label .bp3-button-group{
+    margin-top:5px; }
+  label.bp3-label .bp3-select select,
+  label.bp3-label .bp3-html-select select{
+    font-weight:400;
+    vertical-align:top;
+    width:100%; }
+  label.bp3-label.bp3-disabled,
+  label.bp3-label.bp3-disabled .bp3-text-muted{
+    color:rgba(92, 112, 128, 0.6); }
+  label.bp3-label.bp3-inline{
+    line-height:30px; }
+    label.bp3-label.bp3-inline .bp3-html-select,
+    label.bp3-label.bp3-inline .bp3-input,
+    label.bp3-label.bp3-inline .bp3-input-group,
+    label.bp3-label.bp3-inline .bp3-select,
+    label.bp3-label.bp3-inline .bp3-popover-wrapper{
+      display:inline-block;
+      margin:0 0 0 5px;
+      vertical-align:top; }
+    label.bp3-label.bp3-inline .bp3-button-group{
+      margin:0 0 0 5px; }
+    label.bp3-label.bp3-inline .bp3-input-group .bp3-input{
+      margin-left:0; }
+    label.bp3-label.bp3-inline.bp3-large{
+      line-height:40px; }
+  label.bp3-label:not(.bp3-inline) .bp3-popover-target{
+    display:block; }
+  .bp3-dark label.bp3-label{
+    color:#f5f8fa; }
+    .bp3-dark label.bp3-label.bp3-disabled,
+    .bp3-dark label.bp3-label.bp3-disabled .bp3-text-muted{
+      color:rgba(167, 182, 194, 0.6); }
+.bp3-numeric-input .bp3-button-group.bp3-vertical > .bp3-button{
+  -webkit-box-flex:1;
+      -ms-flex:1 1 14px;
+          flex:1 1 14px;
+  min-height:0;
+  padding:0;
+  width:30px; }
+  .bp3-numeric-input .bp3-button-group.bp3-vertical > .bp3-button:first-child{
+    border-radius:0 3px 0 0; }
+  .bp3-numeric-input .bp3-button-group.bp3-vertical > .bp3-button:last-child{
+    border-radius:0 0 3px 0; }
+
+.bp3-numeric-input .bp3-button-group.bp3-vertical:first-child > .bp3-button:first-child{
+  border-radius:3px 0 0 0; }
+
+.bp3-numeric-input .bp3-button-group.bp3-vertical:first-child > .bp3-button:last-child{
+  border-radius:0 0 0 3px; }
+
+.bp3-numeric-input.bp3-large .bp3-button-group.bp3-vertical > .bp3-button{
+  width:40px; }
+
+form{
+  display:block; }
+.bp3-html-select select,
+.bp3-select select{
+  display:-webkit-inline-box;
+  display:-ms-inline-flexbox;
+  display:inline-flex;
+  -webkit-box-orient:horizontal;
+  -webkit-box-direction:normal;
+      -ms-flex-direction:row;
+          flex-direction:row;
+  -webkit-box-align:center;
+      -ms-flex-align:center;
+          align-items:center;
+  border:none;
+  border-radius:3px;
+  cursor:pointer;
+  font-size:14px;
+  -webkit-box-pack:center;
+      -ms-flex-pack:center;
+          justify-content:center;
+  padding:5px 10px;
+  text-align:left;
+  vertical-align:middle;
+  background-color:#f5f8fa;
+  background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.8)), to(rgba(255, 255, 255, 0)));
+  background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0));
+  -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1);
+          box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1);
+  color:#182026;
+  -moz-appearance:none;
+  -webkit-appearance:none;
+  border-radius:3px;
+  height:30px;
+  padding:0 25px 0 10px;
+  width:100%; }
+  .bp3-html-select select > *, .bp3-select select > *{
+    -webkit-box-flex:0;
+        -ms-flex-positive:0;
+            flex-grow:0;
+    -ms-flex-negative:0;
+        flex-shrink:0; }
+  .bp3-html-select select > .bp3-fill, .bp3-select select > .bp3-fill{
+    -webkit-box-flex:1;
+        -ms-flex-positive:1;
+            flex-grow:1;
+    -ms-flex-negative:1;
+        flex-shrink:1; }
+  .bp3-html-select select::before,
+  .bp3-select select::before, .bp3-html-select select > *, .bp3-select select > *{
+    margin-right:7px; }
+  .bp3-html-select select:empty::before,
+  .bp3-select select:empty::before,
+  .bp3-html-select select > :last-child,
+  .bp3-select select > :last-child{
+    margin-right:0; }
+  .bp3-html-select select:hover,
+  .bp3-select select:hover{
+    background-clip:padding-box;
+    background-color:#ebf1f5;
+    -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1);
+            box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); }
+  .bp3-html-select select:active,
+  .bp3-select select:active, .bp3-html-select select.bp3-active,
+  .bp3-select select.bp3-active{
+    background-color:#d8e1e8;
+    background-image:none;
+    -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 1px 2px rgba(16, 22, 26, 0.2);
+            box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 1px 2px rgba(16, 22, 26, 0.2); }
+  .bp3-html-select select:disabled,
+  .bp3-select select:disabled, .bp3-html-select select.bp3-disabled,
+  .bp3-select select.bp3-disabled{
+    background-color:rgba(206, 217, 224, 0.5);
+    background-image:none;
+    -webkit-box-shadow:none;
+            box-shadow:none;
+    color:rgba(92, 112, 128, 0.6);
+    cursor:not-allowed;
+    outline:none; }
+    .bp3-html-select select:disabled.bp3-active,
+    .bp3-select select:disabled.bp3-active, .bp3-html-select select:disabled.bp3-active:hover,
+    .bp3-select select:disabled.bp3-active:hover, .bp3-html-select select.bp3-disabled.bp3-active,
+    .bp3-select select.bp3-disabled.bp3-active, .bp3-html-select select.bp3-disabled.bp3-active:hover,
+    .bp3-select select.bp3-disabled.bp3-active:hover{
+      background:rgba(206, 217, 224, 0.7); }
+
+.bp3-html-select.bp3-minimal select,
+.bp3-select.bp3-minimal select{
+  background:none;
+  -webkit-box-shadow:none;
+          box-shadow:none; }
+  .bp3-html-select.bp3-minimal select:hover,
+  .bp3-select.bp3-minimal select:hover{
+    background:rgba(167, 182, 194, 0.3);
+    -webkit-box-shadow:none;
+            box-shadow:none;
+    color:#182026;
+    text-decoration:none; }
+  .bp3-html-select.bp3-minimal select:active,
+  .bp3-select.bp3-minimal select:active, .bp3-html-select.bp3-minimal select.bp3-active,
+  .bp3-select.bp3-minimal select.bp3-active{
+    background:rgba(115, 134, 148, 0.3);
+    -webkit-box-shadow:none;
+            box-shadow:none;
+    color:#182026; }
+  .bp3-html-select.bp3-minimal select:disabled,
+  .bp3-select.bp3-minimal select:disabled, .bp3-html-select.bp3-minimal select:disabled:hover,
+  .bp3-select.bp3-minimal select:disabled:hover, .bp3-html-select.bp3-minimal select.bp3-disabled,
+  .bp3-select.bp3-minimal select.bp3-disabled, .bp3-html-select.bp3-minimal select.bp3-disabled:hover,
+  .bp3-select.bp3-minimal select.bp3-disabled:hover{
+    background:none;
+    color:rgba(92, 112, 128, 0.6);
+    cursor:not-allowed; }
+    .bp3-html-select.bp3-minimal select:disabled.bp3-active,
+    .bp3-select.bp3-minimal select:disabled.bp3-active, .bp3-html-select.bp3-minimal select:disabled:hover.bp3-active,
+    .bp3-select.bp3-minimal select:disabled:hover.bp3-active, .bp3-html-select.bp3-minimal select.bp3-disabled.bp3-active,
+    .bp3-select.bp3-minimal select.bp3-disabled.bp3-active, .bp3-html-select.bp3-minimal select.bp3-disabled:hover.bp3-active,
+    .bp3-select.bp3-minimal select.bp3-disabled:hover.bp3-active{
+      background:rgba(115, 134, 148, 0.3); }
+  .bp3-dark .bp3-html-select.bp3-minimal select, .bp3-html-select.bp3-minimal .bp3-dark select,
+  .bp3-dark .bp3-select.bp3-minimal select, .bp3-select.bp3-minimal .bp3-dark select{
+    background:none;
+    -webkit-box-shadow:none;
+            box-shadow:none;
+    color:inherit; }
+    .bp3-dark .bp3-html-select.bp3-minimal select:hover, .bp3-html-select.bp3-minimal .bp3-dark select:hover,
+    .bp3-dark .bp3-select.bp3-minimal select:hover, .bp3-select.bp3-minimal .bp3-dark select:hover, .bp3-dark .bp3-html-select.bp3-minimal select:active, .bp3-html-select.bp3-minimal .bp3-dark select:active,
+    .bp3-dark .bp3-select.bp3-minimal select:active, .bp3-select.bp3-minimal .bp3-dark select:active, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-active,
+    .bp3-dark .bp3-select.bp3-minimal select.bp3-active, .bp3-select.bp3-minimal .bp3-dark select.bp3-active{
+      background:none;
+      -webkit-box-shadow:none;
+              box-shadow:none; }
+    .bp3-dark .bp3-html-select.bp3-minimal select:hover, .bp3-html-select.bp3-minimal .bp3-dark select:hover,
+    .bp3-dark .bp3-select.bp3-minimal select:hover, .bp3-select.bp3-minimal .bp3-dark select:hover{
+      background:rgba(138, 155, 168, 0.15); }
+    .bp3-dark .bp3-html-select.bp3-minimal select:active, .bp3-html-select.bp3-minimal .bp3-dark select:active,
+    .bp3-dark .bp3-select.bp3-minimal select:active, .bp3-select.bp3-minimal .bp3-dark select:active, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-active,
+    .bp3-dark .bp3-select.bp3-minimal select.bp3-active, .bp3-select.bp3-minimal .bp3-dark select.bp3-active{
+      background:rgba(138, 155, 168, 0.3);
+      color:#f5f8fa; }
+    .bp3-dark .bp3-html-select.bp3-minimal select:disabled, .bp3-html-select.bp3-minimal .bp3-dark select:disabled,
+    .bp3-dark .bp3-select.bp3-minimal select:disabled, .bp3-select.bp3-minimal .bp3-dark select:disabled, .bp3-dark .bp3-html-select.bp3-minimal select:disabled:hover, .bp3-html-select.bp3-minimal .bp3-dark select:disabled:hover,
+    .bp3-dark .bp3-select.bp3-minimal select:disabled:hover, .bp3-select.bp3-minimal .bp3-dark select:disabled:hover, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-disabled, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-disabled,
+    .bp3-dark .bp3-select.bp3-minimal select.bp3-disabled, .bp3-select.bp3-minimal .bp3-dark select.bp3-disabled, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-disabled:hover, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-disabled:hover,
+    .bp3-dark .bp3-select.bp3-minimal select.bp3-disabled:hover, .bp3-select.bp3-minimal .bp3-dark select.bp3-disabled:hover{
+      background:none;
+      color:rgba(167, 182, 194, 0.6);
+      cursor:not-allowed; }
+      .bp3-dark .bp3-html-select.bp3-minimal select:disabled.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select:disabled.bp3-active,
+      .bp3-dark .bp3-select.bp3-minimal select:disabled.bp3-active, .bp3-select.bp3-minimal .bp3-dark select:disabled.bp3-active, .bp3-dark .bp3-html-select.bp3-minimal select:disabled:hover.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select:disabled:hover.bp3-active,
+      .bp3-dark .bp3-select.bp3-minimal select:disabled:hover.bp3-active, .bp3-select.bp3-minimal .bp3-dark select:disabled:hover.bp3-active, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-disabled.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-disabled.bp3-active,
+      .bp3-dark .bp3-select.bp3-minimal select.bp3-disabled.bp3-active, .bp3-select.bp3-minimal .bp3-dark select.bp3-disabled.bp3-active, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-disabled:hover.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-disabled:hover.bp3-active,
+      .bp3-dark .bp3-select.bp3-minimal select.bp3-disabled:hover.bp3-active, .bp3-select.bp3-minimal .bp3-dark select.bp3-disabled:hover.bp3-active{
+        background:rgba(138, 155, 168, 0.3); }
+  .bp3-html-select.bp3-minimal select.bp3-intent-primary,
+  .bp3-select.bp3-minimal select.bp3-intent-primary{
+    color:#106ba3; }
+    .bp3-html-select.bp3-minimal select.bp3-intent-primary:hover,
+    .bp3-select.bp3-minimal select.bp3-intent-primary:hover, .bp3-html-select.bp3-minimal select.bp3-intent-primary:active,
+    .bp3-select.bp3-minimal select.bp3-intent-primary:active, .bp3-html-select.bp3-minimal select.bp3-intent-primary.bp3-active,
+    .bp3-select.bp3-minimal select.bp3-intent-primary.bp3-active{
+      background:none;
+      -webkit-box-shadow:none;
+              box-shadow:none;
+      color:#106ba3; }
+    .bp3-html-select.bp3-minimal select.bp3-intent-primary:hover,
+    .bp3-select.bp3-minimal select.bp3-intent-primary:hover{
+      background:rgba(19, 124, 189, 0.15);
+      color:#106ba3; }
+    .bp3-html-select.bp3-minimal select.bp3-intent-primary:active,
+    .bp3-select.bp3-minimal select.bp3-intent-primary:active, .bp3-html-select.bp3-minimal select.bp3-intent-primary.bp3-active,
+    .bp3-select.bp3-minimal select.bp3-intent-primary.bp3-active{
+      background:rgba(19, 124, 189, 0.3);
+      color:#106ba3; }
+    .bp3-html-select.bp3-minimal select.bp3-intent-primary:disabled,
+    .bp3-select.bp3-minimal select.bp3-intent-primary:disabled, .bp3-html-select.bp3-minimal select.bp3-intent-primary.bp3-disabled,
+    .bp3-select.bp3-minimal select.bp3-intent-primary.bp3-disabled{
+      background:none;
+      color:rgba(16, 107, 163, 0.5); }
+      .bp3-html-select.bp3-minimal select.bp3-intent-primary:disabled.bp3-active,
+      .bp3-select.bp3-minimal select.bp3-intent-primary:disabled.bp3-active, .bp3-html-select.bp3-minimal select.bp3-intent-primary.bp3-disabled.bp3-active,
+      .bp3-select.bp3-minimal select.bp3-intent-primary.bp3-disabled.bp3-active{
+        background:rgba(19, 124, 189, 0.3); }
+    .bp3-html-select.bp3-minimal select.bp3-intent-primary .bp3-button-spinner .bp3-spinner-head, .bp3-select.bp3-minimal select.bp3-intent-primary .bp3-button-spinner .bp3-spinner-head{
+      stroke:#106ba3; }
+    .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-primary, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-primary,
+    .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-primary, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-primary{
+      color:#48aff0; }
+      .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-primary:hover, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-primary:hover,
+      .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-primary:hover, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-primary:hover{
+        background:rgba(19, 124, 189, 0.2);
+        color:#48aff0; }
+      .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-primary:active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-primary:active,
+      .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-primary:active, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-primary:active, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-primary.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-primary.bp3-active,
+      .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-primary.bp3-active, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-primary.bp3-active{
+        background:rgba(19, 124, 189, 0.3);
+        color:#48aff0; }
+      .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-primary:disabled, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-primary:disabled,
+      .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-primary:disabled, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-primary:disabled, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-primary.bp3-disabled, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-primary.bp3-disabled,
+      .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-primary.bp3-disabled, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-primary.bp3-disabled{
+        background:none;
+        color:rgba(72, 175, 240, 0.5); }
+        .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-primary:disabled.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-primary:disabled.bp3-active,
+        .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-primary:disabled.bp3-active, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-primary:disabled.bp3-active, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-primary.bp3-disabled.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-primary.bp3-disabled.bp3-active,
+        .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-primary.bp3-disabled.bp3-active, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-primary.bp3-disabled.bp3-active{
+          background:rgba(19, 124, 189, 0.3); }
+  .bp3-html-select.bp3-minimal select.bp3-intent-success,
+  .bp3-select.bp3-minimal select.bp3-intent-success{
+    color:#0d8050; }
+    .bp3-html-select.bp3-minimal select.bp3-intent-success:hover,
+    .bp3-select.bp3-minimal select.bp3-intent-success:hover, .bp3-html-select.bp3-minimal select.bp3-intent-success:active,
+    .bp3-select.bp3-minimal select.bp3-intent-success:active, .bp3-html-select.bp3-minimal select.bp3-intent-success.bp3-active,
+    .bp3-select.bp3-minimal select.bp3-intent-success.bp3-active{
+      background:none;
+      -webkit-box-shadow:none;
+              box-shadow:none;
+      color:#0d8050; }
+    .bp3-html-select.bp3-minimal select.bp3-intent-success:hover,
+    .bp3-select.bp3-minimal select.bp3-intent-success:hover{
+      background:rgba(15, 153, 96, 0.15);
+      color:#0d8050; }
+    .bp3-html-select.bp3-minimal select.bp3-intent-success:active,
+    .bp3-select.bp3-minimal select.bp3-intent-success:active, .bp3-html-select.bp3-minimal select.bp3-intent-success.bp3-active,
+    .bp3-select.bp3-minimal select.bp3-intent-success.bp3-active{
+      background:rgba(15, 153, 96, 0.3);
+      color:#0d8050; }
+    .bp3-html-select.bp3-minimal select.bp3-intent-success:disabled,
+    .bp3-select.bp3-minimal select.bp3-intent-success:disabled, .bp3-html-select.bp3-minimal select.bp3-intent-success.bp3-disabled,
+    .bp3-select.bp3-minimal select.bp3-intent-success.bp3-disabled{
+      background:none;
+      color:rgba(13, 128, 80, 0.5); }
+      .bp3-html-select.bp3-minimal select.bp3-intent-success:disabled.bp3-active,
+      .bp3-select.bp3-minimal select.bp3-intent-success:disabled.bp3-active, .bp3-html-select.bp3-minimal select.bp3-intent-success.bp3-disabled.bp3-active,
+      .bp3-select.bp3-minimal select.bp3-intent-success.bp3-disabled.bp3-active{
+        background:rgba(15, 153, 96, 0.3); }
+    .bp3-html-select.bp3-minimal select.bp3-intent-success .bp3-button-spinner .bp3-spinner-head, .bp3-select.bp3-minimal select.bp3-intent-success .bp3-button-spinner .bp3-spinner-head{
+      stroke:#0d8050; }
+    .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-success, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-success,
+    .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-success, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-success{
+      color:#3dcc91; }
+      .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-success:hover, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-success:hover,
+      .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-success:hover, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-success:hover{
+        background:rgba(15, 153, 96, 0.2);
+        color:#3dcc91; }
+      .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-success:active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-success:active,
+      .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-success:active, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-success:active, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-success.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-success.bp3-active,
+      .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-success.bp3-active, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-success.bp3-active{
+        background:rgba(15, 153, 96, 0.3);
+        color:#3dcc91; }
+      .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-success:disabled, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-success:disabled,
+      .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-success:disabled, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-success:disabled, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-success.bp3-disabled, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-success.bp3-disabled,
+      .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-success.bp3-disabled, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-success.bp3-disabled{
+        background:none;
+        color:rgba(61, 204, 145, 0.5); }
+        .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-success:disabled.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-success:disabled.bp3-active,
+        .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-success:disabled.bp3-active, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-success:disabled.bp3-active, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-success.bp3-disabled.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-success.bp3-disabled.bp3-active,
+        .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-success.bp3-disabled.bp3-active, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-success.bp3-disabled.bp3-active{
+          background:rgba(15, 153, 96, 0.3); }
+  .bp3-html-select.bp3-minimal select.bp3-intent-warning,
+  .bp3-select.bp3-minimal select.bp3-intent-warning{
+    color:#bf7326; }
+    .bp3-html-select.bp3-minimal select.bp3-intent-warning:hover,
+    .bp3-select.bp3-minimal select.bp3-intent-warning:hover, .bp3-html-select.bp3-minimal select.bp3-intent-warning:active,
+    .bp3-select.bp3-minimal select.bp3-intent-warning:active, .bp3-html-select.bp3-minimal select.bp3-intent-warning.bp3-active,
+    .bp3-select.bp3-minimal select.bp3-intent-warning.bp3-active{
+      background:none;
+      -webkit-box-shadow:none;
+              box-shadow:none;
+      color:#bf7326; }
+    .bp3-html-select.bp3-minimal select.bp3-intent-warning:hover,
+    .bp3-select.bp3-minimal select.bp3-intent-warning:hover{
+      background:rgba(217, 130, 43, 0.15);
+      color:#bf7326; }
+    .bp3-html-select.bp3-minimal select.bp3-intent-warning:active,
+    .bp3-select.bp3-minimal select.bp3-intent-warning:active, .bp3-html-select.bp3-minimal select.bp3-intent-warning.bp3-active,
+    .bp3-select.bp3-minimal select.bp3-intent-warning.bp3-active{
+      background:rgba(217, 130, 43, 0.3);
+      color:#bf7326; }
+    .bp3-html-select.bp3-minimal select.bp3-intent-warning:disabled,
+    .bp3-select.bp3-minimal select.bp3-intent-warning:disabled, .bp3-html-select.bp3-minimal select.bp3-intent-warning.bp3-disabled,
+    .bp3-select.bp3-minimal select.bp3-intent-warning.bp3-disabled{
+      background:none;
+      color:rgba(191, 115, 38, 0.5); }
+      .bp3-html-select.bp3-minimal select.bp3-intent-warning:disabled.bp3-active,
+      .bp3-select.bp3-minimal select.bp3-intent-warning:disabled.bp3-active, .bp3-html-select.bp3-minimal select.bp3-intent-warning.bp3-disabled.bp3-active,
+      .bp3-select.bp3-minimal select.bp3-intent-warning.bp3-disabled.bp3-active{
+        background:rgba(217, 130, 43, 0.3); }
+    .bp3-html-select.bp3-minimal select.bp3-intent-warning .bp3-button-spinner .bp3-spinner-head, .bp3-select.bp3-minimal select.bp3-intent-warning .bp3-button-spinner .bp3-spinner-head{
+      stroke:#bf7326; }
+    .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-warning, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-warning,
+    .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-warning, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-warning{
+      color:#ffb366; }
+      .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-warning:hover, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-warning:hover,
+      .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-warning:hover, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-warning:hover{
+        background:rgba(217, 130, 43, 0.2);
+        color:#ffb366; }
+      .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-warning:active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-warning:active,
+      .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-warning:active, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-warning:active, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-warning.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-warning.bp3-active,
+      .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-warning.bp3-active, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-warning.bp3-active{
+        background:rgba(217, 130, 43, 0.3);
+        color:#ffb366; }
+      .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-warning:disabled, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-warning:disabled,
+      .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-warning:disabled, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-warning:disabled, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-warning.bp3-disabled, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-warning.bp3-disabled,
+      .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-warning.bp3-disabled, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-warning.bp3-disabled{
+        background:none;
+        color:rgba(255, 179, 102, 0.5); }
+        .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-warning:disabled.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-warning:disabled.bp3-active,
+        .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-warning:disabled.bp3-active, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-warning:disabled.bp3-active, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-warning.bp3-disabled.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-warning.bp3-disabled.bp3-active,
+        .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-warning.bp3-disabled.bp3-active, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-warning.bp3-disabled.bp3-active{
+          background:rgba(217, 130, 43, 0.3); }
+  .bp3-html-select.bp3-minimal select.bp3-intent-danger,
+  .bp3-select.bp3-minimal select.bp3-intent-danger{
+    color:#c23030; }
+    .bp3-html-select.bp3-minimal select.bp3-intent-danger:hover,
+    .bp3-select.bp3-minimal select.bp3-intent-danger:hover, .bp3-html-select.bp3-minimal select.bp3-intent-danger:active,
+    .bp3-select.bp3-minimal select.bp3-intent-danger:active, .bp3-html-select.bp3-minimal select.bp3-intent-danger.bp3-active,
+    .bp3-select.bp3-minimal select.bp3-intent-danger.bp3-active{
+      background:none;
+      -webkit-box-shadow:none;
+              box-shadow:none;
+      color:#c23030; }
+    .bp3-html-select.bp3-minimal select.bp3-intent-danger:hover,
+    .bp3-select.bp3-minimal select.bp3-intent-danger:hover{
+      background:rgba(219, 55, 55, 0.15);
+      color:#c23030; }
+    .bp3-html-select.bp3-minimal select.bp3-intent-danger:active,
+    .bp3-select.bp3-minimal select.bp3-intent-danger:active, .bp3-html-select.bp3-minimal select.bp3-intent-danger.bp3-active,
+    .bp3-select.bp3-minimal select.bp3-intent-danger.bp3-active{
+      background:rgba(219, 55, 55, 0.3);
+      color:#c23030; }
+    .bp3-html-select.bp3-minimal select.bp3-intent-danger:disabled,
+    .bp3-select.bp3-minimal select.bp3-intent-danger:disabled, .bp3-html-select.bp3-minimal select.bp3-intent-danger.bp3-disabled,
+    .bp3-select.bp3-minimal select.bp3-intent-danger.bp3-disabled{
+      background:none;
+      color:rgba(194, 48, 48, 0.5); }
+      .bp3-html-select.bp3-minimal select.bp3-intent-danger:disabled.bp3-active,
+      .bp3-select.bp3-minimal select.bp3-intent-danger:disabled.bp3-active, .bp3-html-select.bp3-minimal select.bp3-intent-danger.bp3-disabled.bp3-active,
+      .bp3-select.bp3-minimal select.bp3-intent-danger.bp3-disabled.bp3-active{
+        background:rgba(219, 55, 55, 0.3); }
+    .bp3-html-select.bp3-minimal select.bp3-intent-danger .bp3-button-spinner .bp3-spinner-head, .bp3-select.bp3-minimal select.bp3-intent-danger .bp3-button-spinner .bp3-spinner-head{
+      stroke:#c23030; }
+    .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-danger, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-danger,
+    .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-danger, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-danger{
+      color:#ff7373; }
+      .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-danger:hover, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-danger:hover,
+      .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-danger:hover, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-danger:hover{
+        background:rgba(219, 55, 55, 0.2);
+        color:#ff7373; }
+      .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-danger:active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-danger:active,
+      .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-danger:active, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-danger:active, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-danger.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-danger.bp3-active,
+      .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-danger.bp3-active, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-danger.bp3-active{
+        background:rgba(219, 55, 55, 0.3);
+        color:#ff7373; }
+      .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-danger:disabled, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-danger:disabled,
+      .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-danger:disabled, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-danger:disabled, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-danger.bp3-disabled, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-danger.bp3-disabled,
+      .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-danger.bp3-disabled, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-danger.bp3-disabled{
+        background:none;
+        color:rgba(255, 115, 115, 0.5); }
+        .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-danger:disabled.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-danger:disabled.bp3-active,
+        .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-danger:disabled.bp3-active, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-danger:disabled.bp3-active, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-danger.bp3-disabled.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-danger.bp3-disabled.bp3-active,
+        .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-danger.bp3-disabled.bp3-active, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-danger.bp3-disabled.bp3-active{
+          background:rgba(219, 55, 55, 0.3); }
+
+.bp3-html-select.bp3-large select,
+.bp3-select.bp3-large select{
+  font-size:16px;
+  height:40px;
+  padding-right:35px; }
+
+.bp3-dark .bp3-html-select select, .bp3-dark .bp3-select select{
+  background-color:#394b59;
+  background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.05)), to(rgba(255, 255, 255, 0)));
+  background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0));
+  -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4);
+          box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4);
+  color:#f5f8fa; }
+  .bp3-dark .bp3-html-select select:hover, .bp3-dark .bp3-select select:hover, .bp3-dark .bp3-html-select select:active, .bp3-dark .bp3-select select:active, .bp3-dark .bp3-html-select select.bp3-active, .bp3-dark .bp3-select select.bp3-active{
+    color:#f5f8fa; }
+  .bp3-dark .bp3-html-select select:hover, .bp3-dark .bp3-select select:hover{
+    background-color:#30404d;
+    -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4);
+            box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); }
+  .bp3-dark .bp3-html-select select:active, .bp3-dark .bp3-select select:active, .bp3-dark .bp3-html-select select.bp3-active, .bp3-dark .bp3-select select.bp3-active{
+    background-color:#202b33;
+    background-image:none;
+    -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.6), inset 0 1px 2px rgba(16, 22, 26, 0.2);
+            box-shadow:0 0 0 1px rgba(16, 22, 26, 0.6), inset 0 1px 2px rgba(16, 22, 26, 0.2); }
+  .bp3-dark .bp3-html-select select:disabled, .bp3-dark .bp3-select select:disabled, .bp3-dark .bp3-html-select select.bp3-disabled, .bp3-dark .bp3-select select.bp3-disabled{
+    background-color:rgba(57, 75, 89, 0.5);
+    background-image:none;
+    -webkit-box-shadow:none;
+            box-shadow:none;
+    color:rgba(167, 182, 194, 0.6); }
+    .bp3-dark .bp3-html-select select:disabled.bp3-active, .bp3-dark .bp3-select select:disabled.bp3-active, .bp3-dark .bp3-html-select select.bp3-disabled.bp3-active, .bp3-dark .bp3-select select.bp3-disabled.bp3-active{
+      background:rgba(57, 75, 89, 0.7); }
+  .bp3-dark .bp3-html-select select .bp3-button-spinner .bp3-spinner-head, .bp3-dark .bp3-select select .bp3-button-spinner .bp3-spinner-head{
+    background:rgba(16, 22, 26, 0.5);
+    stroke:#8a9ba8; }
+
+.bp3-html-select select:disabled,
+.bp3-select select:disabled{
+  background-color:rgba(206, 217, 224, 0.5);
+  -webkit-box-shadow:none;
+          box-shadow:none;
+  color:rgba(92, 112, 128, 0.6);
+  cursor:not-allowed; }
+
+.bp3-html-select .bp3-icon,
+.bp3-select .bp3-icon, .bp3-select::after{
+  color:#5c7080;
+  pointer-events:none;
+  position:absolute;
+  right:7px;
+  top:7px; }
+  .bp3-html-select .bp3-disabled.bp3-icon,
+  .bp3-select .bp3-disabled.bp3-icon, .bp3-disabled.bp3-select::after{
+    color:rgba(92, 112, 128, 0.6); }
+.bp3-html-select,
+.bp3-select{
+  display:inline-block;
+  letter-spacing:normal;
+  position:relative;
+  vertical-align:middle; }
+  .bp3-html-select select::-ms-expand,
+  .bp3-select select::-ms-expand{
+    display:none; }
+  .bp3-html-select .bp3-icon,
+  .bp3-select .bp3-icon{
+    color:#5c7080; }
+    .bp3-html-select .bp3-icon:hover,
+    .bp3-select .bp3-icon:hover{
+      color:#182026; }
+    .bp3-dark .bp3-html-select .bp3-icon, .bp3-dark
+    .bp3-select .bp3-icon{
+      color:#a7b6c2; }
+      .bp3-dark .bp3-html-select .bp3-icon:hover, .bp3-dark
+      .bp3-select .bp3-icon:hover{
+        color:#f5f8fa; }
+  .bp3-html-select.bp3-large::after,
+  .bp3-html-select.bp3-large .bp3-icon,
+  .bp3-select.bp3-large::after,
+  .bp3-select.bp3-large .bp3-icon{
+    right:12px;
+    top:12px; }
+  .bp3-html-select.bp3-fill,
+  .bp3-html-select.bp3-fill select,
+  .bp3-select.bp3-fill,
+  .bp3-select.bp3-fill select{
+    width:100%; }
+  .bp3-dark .bp3-html-select option, .bp3-dark
+  .bp3-select option{
+    background-color:#30404d;
+    color:#f5f8fa; }
+  .bp3-dark .bp3-html-select option:disabled, .bp3-dark
+  .bp3-select option:disabled{
+    color:rgba(167, 182, 194, 0.6); }
+  .bp3-dark .bp3-html-select::after, .bp3-dark
+  .bp3-select::after{
+    color:#a7b6c2; }
+
+.bp3-select::after{
+  font-family:"Icons16", sans-serif;
+  font-size:16px;
+  font-style:normal;
+  font-weight:400;
+  line-height:1;
+  -moz-osx-font-smoothing:grayscale;
+  -webkit-font-smoothing:antialiased;
+  content:""; }
+.bp3-running-text table, table.bp3-html-table{
+  border-spacing:0;
+  font-size:14px; }
+  .bp3-running-text table th, table.bp3-html-table th,
+  .bp3-running-text table td,
+  table.bp3-html-table td{
+    padding:11px;
+    text-align:left;
+    vertical-align:top; }
+  .bp3-running-text table th, table.bp3-html-table th{
+    color:#182026;
+    font-weight:600; }
+  
+  .bp3-running-text table td,
+  table.bp3-html-table td{
+    color:#182026; }
+  .bp3-running-text table tbody tr:first-child th, table.bp3-html-table tbody tr:first-child th,
+  .bp3-running-text table tbody tr:first-child td,
+  table.bp3-html-table tbody tr:first-child td{
+    -webkit-box-shadow:inset 0 1px 0 0 rgba(16, 22, 26, 0.15);
+            box-shadow:inset 0 1px 0 0 rgba(16, 22, 26, 0.15); }
+  .bp3-dark .bp3-running-text table th, .bp3-running-text .bp3-dark table th, .bp3-dark table.bp3-html-table th{
+    color:#f5f8fa; }
+  .bp3-dark .bp3-running-text table td, .bp3-running-text .bp3-dark table td, .bp3-dark table.bp3-html-table td{
+    color:#f5f8fa; }
+  .bp3-dark .bp3-running-text table tbody tr:first-child th, .bp3-running-text .bp3-dark table tbody tr:first-child th, .bp3-dark table.bp3-html-table tbody tr:first-child th,
+  .bp3-dark .bp3-running-text table tbody tr:first-child td,
+  .bp3-running-text .bp3-dark table tbody tr:first-child td,
+  .bp3-dark table.bp3-html-table tbody tr:first-child td{
+    -webkit-box-shadow:inset 0 1px 0 0 rgba(255, 255, 255, 0.15);
+            box-shadow:inset 0 1px 0 0 rgba(255, 255, 255, 0.15); }
+
+table.bp3-html-table.bp3-html-table-condensed th,
+table.bp3-html-table.bp3-html-table-condensed td, table.bp3-html-table.bp3-small th,
+table.bp3-html-table.bp3-small td{
+  padding-bottom:6px;
+  padding-top:6px; }
+
+table.bp3-html-table.bp3-html-table-striped tbody tr:nth-child(odd) td{
+  background:rgba(191, 204, 214, 0.15); }
+
+table.bp3-html-table.bp3-html-table-bordered th:not(:first-child){
+  -webkit-box-shadow:inset 1px 0 0 0 rgba(16, 22, 26, 0.15);
+          box-shadow:inset 1px 0 0 0 rgba(16, 22, 26, 0.15); }
+
+table.bp3-html-table.bp3-html-table-bordered tbody tr td{
+  -webkit-box-shadow:inset 0 1px 0 0 rgba(16, 22, 26, 0.15);
+          box-shadow:inset 0 1px 0 0 rgba(16, 22, 26, 0.15); }
+  table.bp3-html-table.bp3-html-table-bordered tbody tr td:not(:first-child){
+    -webkit-box-shadow:inset 1px 1px 0 0 rgba(16, 22, 26, 0.15);
+            box-shadow:inset 1px 1px 0 0 rgba(16, 22, 26, 0.15); }
+
+table.bp3-html-table.bp3-html-table-bordered.bp3-html-table-striped tbody tr:not(:first-child) td{
+  -webkit-box-shadow:none;
+          box-shadow:none; }
+  table.bp3-html-table.bp3-html-table-bordered.bp3-html-table-striped tbody tr:not(:first-child) td:not(:first-child){
+    -webkit-box-shadow:inset 1px 0 0 0 rgba(16, 22, 26, 0.15);
+            box-shadow:inset 1px 0 0 0 rgba(16, 22, 26, 0.15); }
+
+table.bp3-html-table.bp3-interactive tbody tr:hover td{
+  background-color:rgba(191, 204, 214, 0.3);
+  cursor:pointer; }
+
+table.bp3-html-table.bp3-interactive tbody tr:active td{
+  background-color:rgba(191, 204, 214, 0.4); }
+
+.bp3-dark table.bp3-html-table{ }
+  .bp3-dark table.bp3-html-table.bp3-html-table-striped tbody tr:nth-child(odd) td{
+    background:rgba(92, 112, 128, 0.15); }
+  .bp3-dark table.bp3-html-table.bp3-html-table-bordered th:not(:first-child){
+    -webkit-box-shadow:inset 1px 0 0 0 rgba(255, 255, 255, 0.15);
+            box-shadow:inset 1px 0 0 0 rgba(255, 255, 255, 0.15); }
+  .bp3-dark table.bp3-html-table.bp3-html-table-bordered tbody tr td{
+    -webkit-box-shadow:inset 0 1px 0 0 rgba(255, 255, 255, 0.15);
+            box-shadow:inset 0 1px 0 0 rgba(255, 255, 255, 0.15); }
+    .bp3-dark table.bp3-html-table.bp3-html-table-bordered tbody tr td:not(:first-child){
+      -webkit-box-shadow:inset 1px 1px 0 0 rgba(255, 255, 255, 0.15);
+              box-shadow:inset 1px 1px 0 0 rgba(255, 255, 255, 0.15); }
+  .bp3-dark table.bp3-html-table.bp3-html-table-bordered.bp3-html-table-striped tbody tr:not(:first-child) td{
+    -webkit-box-shadow:inset 1px 0 0 0 rgba(255, 255, 255, 0.15);
+            box-shadow:inset 1px 0 0 0 rgba(255, 255, 255, 0.15); }
+    .bp3-dark table.bp3-html-table.bp3-html-table-bordered.bp3-html-table-striped tbody tr:not(:first-child) td:first-child{
+      -webkit-box-shadow:none;
+              box-shadow:none; }
+  .bp3-dark table.bp3-html-table.bp3-interactive tbody tr:hover td{
+    background-color:rgba(92, 112, 128, 0.3);
+    cursor:pointer; }
+  .bp3-dark table.bp3-html-table.bp3-interactive tbody tr:active td{
+    background-color:rgba(92, 112, 128, 0.4); }
+
+.bp3-key-combo{
+  display:-webkit-box;
+  display:-ms-flexbox;
+  display:flex;
+  -webkit-box-orient:horizontal;
+  -webkit-box-direction:normal;
+      -ms-flex-direction:row;
+          flex-direction:row;
+  -webkit-box-align:center;
+      -ms-flex-align:center;
+          align-items:center; }
+  .bp3-key-combo > *{
+    -webkit-box-flex:0;
+        -ms-flex-positive:0;
+            flex-grow:0;
+    -ms-flex-negative:0;
+        flex-shrink:0; }
+  .bp3-key-combo > .bp3-fill{
+    -webkit-box-flex:1;
+        -ms-flex-positive:1;
+            flex-grow:1;
+    -ms-flex-negative:1;
+        flex-shrink:1; }
+  .bp3-key-combo::before,
+  .bp3-key-combo > *{
+    margin-right:5px; }
+  .bp3-key-combo:empty::before,
+  .bp3-key-combo > :last-child{
+    margin-right:0; }
+
+.bp3-hotkey-dialog{
+  padding-bottom:0;
+  top:40px; }
+  .bp3-hotkey-dialog .bp3-dialog-body{
+    margin:0;
+    padding:0; }
+  .bp3-hotkey-dialog .bp3-hotkey-label{
+    -webkit-box-flex:1;
+        -ms-flex-positive:1;
+            flex-grow:1; }
+
+.bp3-hotkey-column{
+  margin:auto;
+  max-height:80vh;
+  overflow-y:auto;
+  padding:30px; }
+  .bp3-hotkey-column .bp3-heading{
+    margin-bottom:20px; }
+    .bp3-hotkey-column .bp3-heading:not(:first-child){
+      margin-top:40px; }
+
+.bp3-hotkey{
+  -webkit-box-align:center;
+      -ms-flex-align:center;
+          align-items:center;
+  display:-webkit-box;
+  display:-ms-flexbox;
+  display:flex;
+  -webkit-box-pack:justify;
+      -ms-flex-pack:justify;
+          justify-content:space-between;
+  margin-left:0;
+  margin-right:0; }
+  .bp3-hotkey:not(:last-child){
+    margin-bottom:10px; }
+.bp3-icon{
+  display:inline-block;
+  -webkit-box-flex:0;
+      -ms-flex:0 0 auto;
+          flex:0 0 auto;
+  vertical-align:text-bottom; }
+  .bp3-icon:not(:empty)::before{
+    content:"" !important;
+    content:unset !important; }
+  .bp3-icon > svg{
+    display:block; }
+    .bp3-icon > svg:not([fill]){
+      fill:currentColor; }
+
+.bp3-icon.bp3-intent-primary, .bp3-icon-standard.bp3-intent-primary, .bp3-icon-large.bp3-intent-primary{
+  color:#106ba3; }
+  .bp3-dark .bp3-icon.bp3-intent-primary, .bp3-dark .bp3-icon-standard.bp3-intent-primary, .bp3-dark .bp3-icon-large.bp3-intent-primary{
+    color:#48aff0; }
+
+.bp3-icon.bp3-intent-success, .bp3-icon-standard.bp3-intent-success, .bp3-icon-large.bp3-intent-success{
+  color:#0d8050; }
+  .bp3-dark .bp3-icon.bp3-intent-success, .bp3-dark .bp3-icon-standard.bp3-intent-success, .bp3-dark .bp3-icon-large.bp3-intent-success{
+    color:#3dcc91; }
+
+.bp3-icon.bp3-intent-warning, .bp3-icon-standard.bp3-intent-warning, .bp3-icon-large.bp3-intent-warning{
+  color:#bf7326; }
+  .bp3-dark .bp3-icon.bp3-intent-warning, .bp3-dark .bp3-icon-standard.bp3-intent-warning, .bp3-dark .bp3-icon-large.bp3-intent-warning{
+    color:#ffb366; }
+
+.bp3-icon.bp3-intent-danger, .bp3-icon-standard.bp3-intent-danger, .bp3-icon-large.bp3-intent-danger{
+  color:#c23030; }
+  .bp3-dark .bp3-icon.bp3-intent-danger, .bp3-dark .bp3-icon-standard.bp3-intent-danger, .bp3-dark .bp3-icon-large.bp3-intent-danger{
+    color:#ff7373; }
+
+span.bp3-icon-standard{
+  font-family:"Icons16", sans-serif;
+  font-size:16px;
+  font-style:normal;
+  font-weight:400;
+  line-height:1;
+  -moz-osx-font-smoothing:grayscale;
+  -webkit-font-smoothing:antialiased;
+  display:inline-block; }
+
+span.bp3-icon-large{
+  font-family:"Icons20", sans-serif;
+  font-size:20px;
+  font-style:normal;
+  font-weight:400;
+  line-height:1;
+  -moz-osx-font-smoothing:grayscale;
+  -webkit-font-smoothing:antialiased;
+  display:inline-block; }
+
+span.bp3-icon:empty{
+  font-family:"Icons20";
+  font-size:inherit;
+  font-style:normal;
+  font-weight:400;
+  line-height:1; }
+  span.bp3-icon:empty::before{
+    -moz-osx-font-smoothing:grayscale;
+    -webkit-font-smoothing:antialiased; }
+
+.bp3-icon-add::before{
+  content:""; }
+
+.bp3-icon-add-column-left::before{
+  content:""; }
+
+.bp3-icon-add-column-right::before{
+  content:""; }
+
+.bp3-icon-add-row-bottom::before{
+  content:""; }
+
+.bp3-icon-add-row-top::before{
+  content:""; }
+
+.bp3-icon-add-to-artifact::before{
+  content:""; }
+
+.bp3-icon-add-to-folder::before{
+  content:""; }
+
+.bp3-icon-airplane::before{
+  content:""; }
+
+.bp3-icon-align-center::before{
+  content:""; }
+
+.bp3-icon-align-justify::before{
+  content:""; }
+
+.bp3-icon-align-left::before{
+  content:""; }
+
+.bp3-icon-align-right::before{
+  content:""; }
+
+.bp3-icon-alignment-bottom::before{
+  content:""; }
+
+.bp3-icon-alignment-horizontal-center::before{
+  content:""; }
+
+.bp3-icon-alignment-left::before{
+  content:""; }
+
+.bp3-icon-alignment-right::before{
+  content:""; }
+
+.bp3-icon-alignment-top::before{
+  content:""; }
+
+.bp3-icon-alignment-vertical-center::before{
+  content:""; }
+
+.bp3-icon-annotation::before{
+  content:""; }
+
+.bp3-icon-application::before{
+  content:""; }
+
+.bp3-icon-applications::before{
+  content:""; }
+
+.bp3-icon-archive::before{
+  content:""; }
+
+.bp3-icon-arrow-bottom-left::before{
+  content:"↙"; }
+
+.bp3-icon-arrow-bottom-right::before{
+  content:"↘"; }
+
+.bp3-icon-arrow-down::before{
+  content:"↓"; }
+
+.bp3-icon-arrow-left::before{
+  content:"←"; }
+
+.bp3-icon-arrow-right::before{
+  content:"→"; }
+
+.bp3-icon-arrow-top-left::before{
+  content:"↖"; }
+
+.bp3-icon-arrow-top-right::before{
+  content:"↗"; }
+
+.bp3-icon-arrow-up::before{
+  content:"↑"; }
+
+.bp3-icon-arrows-horizontal::before{
+  content:"↔"; }
+
+.bp3-icon-arrows-vertical::before{
+  content:"↕"; }
+
+.bp3-icon-asterisk::before{
+  content:"*"; }
+
+.bp3-icon-automatic-updates::before{
+  content:""; }
+
+.bp3-icon-badge::before{
+  content:""; }
+
+.bp3-icon-ban-circle::before{
+  content:""; }
+
+.bp3-icon-bank-account::before{
+  content:""; }
+
+.bp3-icon-barcode::before{
+  content:""; }
+
+.bp3-icon-blank::before{
+  content:""; }
+
+.bp3-icon-blocked-person::before{
+  content:""; }
+
+.bp3-icon-bold::before{
+  content:""; }
+
+.bp3-icon-book::before{
+  content:""; }
+
+.bp3-icon-bookmark::before{
+  content:""; }
+
+.bp3-icon-box::before{
+  content:""; }
+
+.bp3-icon-briefcase::before{
+  content:""; }
+
+.bp3-icon-bring-data::before{
+  content:""; }
+
+.bp3-icon-build::before{
+  content:""; }
+
+.bp3-icon-calculator::before{
+  content:""; }
+
+.bp3-icon-calendar::before{
+  content:""; }
+
+.bp3-icon-camera::before{
+  content:""; }
+
+.bp3-icon-caret-down::before{
+  content:"⌄"; }
+
+.bp3-icon-caret-left::before{
+  content:"〈"; }
+
+.bp3-icon-caret-right::before{
+  content:"〉"; }
+
+.bp3-icon-caret-up::before{
+  content:"⌃"; }
+
+.bp3-icon-cell-tower::before{
+  content:""; }
+
+.bp3-icon-changes::before{
+  content:""; }
+
+.bp3-icon-chart::before{
+  content:""; }
+
+.bp3-icon-chat::before{
+  content:""; }
+
+.bp3-icon-chevron-backward::before{
+  content:""; }
+
+.bp3-icon-chevron-down::before{
+  content:""; }
+
+.bp3-icon-chevron-forward::before{
+  content:""; }
+
+.bp3-icon-chevron-left::before{
+  content:""; }
+
+.bp3-icon-chevron-right::before{
+  content:""; }
+
+.bp3-icon-chevron-up::before{
+  content:""; }
+
+.bp3-icon-circle::before{
+  content:""; }
+
+.bp3-icon-circle-arrow-down::before{
+  content:""; }
+
+.bp3-icon-circle-arrow-left::before{
+  content:""; }
+
+.bp3-icon-circle-arrow-right::before{
+  content:""; }
+
+.bp3-icon-circle-arrow-up::before{
+  content:""; }
+
+.bp3-icon-citation::before{
+  content:""; }
+
+.bp3-icon-clean::before{
+  content:""; }
+
+.bp3-icon-clipboard::before{
+  content:""; }
+
+.bp3-icon-cloud::before{
+  content:"☁"; }
+
+.bp3-icon-cloud-download::before{
+  content:""; }
+
+.bp3-icon-cloud-upload::before{
+  content:""; }
+
+.bp3-icon-code::before{
+  content:""; }
+
+.bp3-icon-code-block::before{
+  content:""; }
+
+.bp3-icon-cog::before{
+  content:""; }
+
+.bp3-icon-collapse-all::before{
+  content:""; }
+
+.bp3-icon-column-layout::before{
+  content:""; }
+
+.bp3-icon-comment::before{
+  content:""; }
+
+.bp3-icon-comparison::before{
+  content:""; }
+
+.bp3-icon-compass::before{
+  content:""; }
+
+.bp3-icon-compressed::before{
+  content:""; }
+
+.bp3-icon-confirm::before{
+  content:""; }
+
+.bp3-icon-console::before{
+  content:""; }
+
+.bp3-icon-contrast::before{
+  content:""; }
+
+.bp3-icon-control::before{
+  content:""; }
+
+.bp3-icon-credit-card::before{
+  content:""; }
+
+.bp3-icon-cross::before{
+  content:"✗"; }
+
+.bp3-icon-crown::before{
+  content:""; }
+
+.bp3-icon-cube::before{
+  content:""; }
+
+.bp3-icon-cube-add::before{
+  content:""; }
+
+.bp3-icon-cube-remove::before{
+  content:""; }
+
+.bp3-icon-curved-range-chart::before{
+  content:""; }
+
+.bp3-icon-cut::before{
+  content:""; }
+
+.bp3-icon-dashboard::before{
+  content:""; }
+
+.bp3-icon-data-lineage::before{
+  content:""; }
+
+.bp3-icon-database::before{
+  content:""; }
+
+.bp3-icon-delete::before{
+  content:""; }
+
+.bp3-icon-delta::before{
+  content:"Δ"; }
+
+.bp3-icon-derive-column::before{
+  content:""; }
+
+.bp3-icon-desktop::before{
+  content:""; }
+
+.bp3-icon-diagnosis::before{
+  content:""; }
+
+.bp3-icon-diagram-tree::before{
+  content:""; }
+
+.bp3-icon-direction-left::before{
+  content:""; }
+
+.bp3-icon-direction-right::before{
+  content:""; }
+
+.bp3-icon-disable::before{
+  content:""; }
+
+.bp3-icon-document::before{
+  content:""; }
+
+.bp3-icon-document-open::before{
+  content:""; }
+
+.bp3-icon-document-share::before{
+  content:""; }
+
+.bp3-icon-dollar::before{
+  content:"$"; }
+
+.bp3-icon-dot::before{
+  content:"•"; }
+
+.bp3-icon-double-caret-horizontal::before{
+  content:""; }
+
+.bp3-icon-double-caret-vertical::before{
+  content:""; }
+
+.bp3-icon-double-chevron-down::before{
+  content:""; }
+
+.bp3-icon-double-chevron-left::before{
+  content:""; }
+
+.bp3-icon-double-chevron-right::before{
+  content:""; }
+
+.bp3-icon-double-chevron-up::before{
+  content:""; }
+
+.bp3-icon-doughnut-chart::before{
+  content:""; }
+
+.bp3-icon-download::before{
+  content:""; }
+
+.bp3-icon-drag-handle-horizontal::before{
+  content:""; }
+
+.bp3-icon-drag-handle-vertical::before{
+  content:""; }
+
+.bp3-icon-draw::before{
+  content:""; }
+
+.bp3-icon-drive-time::before{
+  content:""; }
+
+.bp3-icon-duplicate::before{
+  content:""; }
+
+.bp3-icon-edit::before{
+  content:"✎"; }
+
+.bp3-icon-eject::before{
+  content:"⏏"; }
+
+.bp3-icon-endorsed::before{
+  content:""; }
+
+.bp3-icon-envelope::before{
+  content:"✉"; }
+
+.bp3-icon-equals::before{
+  content:""; }
+
+.bp3-icon-eraser::before{
+  content:""; }
+
+.bp3-icon-error::before{
+  content:""; }
+
+.bp3-icon-euro::before{
+  content:"€"; }
+
+.bp3-icon-exchange::before{
+  content:""; }
+
+.bp3-icon-exclude-row::before{
+  content:""; }
+
+.bp3-icon-expand-all::before{
+  content:""; }
+
+.bp3-icon-export::before{
+  content:""; }
+
+.bp3-icon-eye-off::before{
+  content:""; }
+
+.bp3-icon-eye-on::before{
+  content:""; }
+
+.bp3-icon-eye-open::before{
+  content:""; }
+
+.bp3-icon-fast-backward::before{
+  content:""; }
+
+.bp3-icon-fast-forward::before{
+  content:""; }
+
+.bp3-icon-feed::before{
+  content:""; }
+
+.bp3-icon-feed-subscribed::before{
+  content:""; }
+
+.bp3-icon-film::before{
+  content:""; }
+
+.bp3-icon-filter::before{
+  content:""; }
+
+.bp3-icon-filter-keep::before{
+  content:""; }
+
+.bp3-icon-filter-list::before{
+  content:""; }
+
+.bp3-icon-filter-open::before{
+  content:""; }
+
+.bp3-icon-filter-remove::before{
+  content:""; }
+
+.bp3-icon-flag::before{
+  content:"⚑"; }
+
+.bp3-icon-flame::before{
+  content:""; }
+
+.bp3-icon-flash::before{
+  content:""; }
+
+.bp3-icon-floppy-disk::before{
+  content:""; }
+
+.bp3-icon-flow-branch::before{
+  content:""; }
+
+.bp3-icon-flow-end::before{
+  content:""; }
+
+.bp3-icon-flow-linear::before{
+  content:""; }
+
+.bp3-icon-flow-review::before{
+  content:""; }
+
+.bp3-icon-flow-review-branch::before{
+  content:""; }
+
+.bp3-icon-flows::before{
+  content:""; }
+
+.bp3-icon-folder-close::before{
+  content:""; }
+
+.bp3-icon-folder-new::before{
+  content:""; }
+
+.bp3-icon-folder-open::before{
+  content:""; }
+
+.bp3-icon-folder-shared::before{
+  content:""; }
+
+.bp3-icon-folder-shared-open::before{
+  content:""; }
+
+.bp3-icon-follower::before{
+  content:""; }
+
+.bp3-icon-following::before{
+  content:""; }
+
+.bp3-icon-font::before{
+  content:""; }
+
+.bp3-icon-fork::before{
+  content:""; }
+
+.bp3-icon-form::before{
+  content:""; }
+
+.bp3-icon-full-circle::before{
+  content:""; }
+
+.bp3-icon-full-stacked-chart::before{
+  content:""; }
+
+.bp3-icon-fullscreen::before{
+  content:""; }
+
+.bp3-icon-function::before{
+  content:""; }
+
+.bp3-icon-gantt-chart::before{
+  content:""; }
+
+.bp3-icon-geolocation::before{
+  content:""; }
+
+.bp3-icon-geosearch::before{
+  content:""; }
+
+.bp3-icon-git-branch::before{
+  content:""; }
+
+.bp3-icon-git-commit::before{
+  content:""; }
+
+.bp3-icon-git-merge::before{
+  content:""; }
+
+.bp3-icon-git-new-branch::before{
+  content:""; }
+
+.bp3-icon-git-pull::before{
+  content:""; }
+
+.bp3-icon-git-push::before{
+  content:""; }
+
+.bp3-icon-git-repo::before{
+  content:""; }
+
+.bp3-icon-glass::before{
+  content:""; }
+
+.bp3-icon-globe::before{
+  content:""; }
+
+.bp3-icon-globe-network::before{
+  content:""; }
+
+.bp3-icon-graph::before{
+  content:""; }
+
+.bp3-icon-graph-remove::before{
+  content:""; }
+
+.bp3-icon-greater-than::before{
+  content:""; }
+
+.bp3-icon-greater-than-or-equal-to::before{
+  content:""; }
+
+.bp3-icon-grid::before{
+  content:""; }
+
+.bp3-icon-grid-view::before{
+  content:""; }
+
+.bp3-icon-group-objects::before{
+  content:""; }
+
+.bp3-icon-grouped-bar-chart::before{
+  content:""; }
+
+.bp3-icon-hand::before{
+  content:""; }
+
+.bp3-icon-hand-down::before{
+  content:""; }
+
+.bp3-icon-hand-left::before{
+  content:""; }
+
+.bp3-icon-hand-right::before{
+  content:""; }
+
+.bp3-icon-hand-up::before{
+  content:""; }
+
+.bp3-icon-header::before{
+  content:""; }
+
+.bp3-icon-header-one::before{
+  content:""; }
+
+.bp3-icon-header-two::before{
+  content:""; }
+
+.bp3-icon-headset::before{
+  content:""; }
+
+.bp3-icon-heart::before{
+  content:"♥"; }
+
+.bp3-icon-heart-broken::before{
+  content:""; }
+
+.bp3-icon-heat-grid::before{
+  content:""; }
+
+.bp3-icon-heatmap::before{
+  content:""; }
+
+.bp3-icon-help::before{
+  content:"?"; }
+
+.bp3-icon-helper-management::before{
+  content:""; }
+
+.bp3-icon-highlight::before{
+  content:""; }
+
+.bp3-icon-history::before{
+  content:""; }
+
+.bp3-icon-home::before{
+  content:"⌂"; }
+
+.bp3-icon-horizontal-bar-chart::before{
+  content:""; }
+
+.bp3-icon-horizontal-bar-chart-asc::before{
+  content:""; }
+
+.bp3-icon-horizontal-bar-chart-desc::before{
+  content:""; }
+
+.bp3-icon-horizontal-distribution::before{
+  content:""; }
+
+.bp3-icon-id-number::before{
+  content:""; }
+
+.bp3-icon-image-rotate-left::before{
+  content:""; }
+
+.bp3-icon-image-rotate-right::before{
+  content:""; }
+
+.bp3-icon-import::before{
+  content:""; }
+
+.bp3-icon-inbox::before{
+  content:""; }
+
+.bp3-icon-inbox-filtered::before{
+  content:""; }
+
+.bp3-icon-inbox-geo::before{
+  content:""; }
+
+.bp3-icon-inbox-search::before{
+  content:""; }
+
+.bp3-icon-inbox-update::before{
+  content:""; }
+
+.bp3-icon-info-sign::before{
+  content:"ℹ"; }
+
+.bp3-icon-inheritance::before{
+  content:""; }
+
+.bp3-icon-inner-join::before{
+  content:""; }
+
+.bp3-icon-insert::before{
+  content:""; }
+
+.bp3-icon-intersection::before{
+  content:""; }
+
+.bp3-icon-ip-address::before{
+  content:""; }
+
+.bp3-icon-issue::before{
+  content:""; }
+
+.bp3-icon-issue-closed::before{
+  content:""; }
+
+.bp3-icon-issue-new::before{
+  content:""; }
+
+.bp3-icon-italic::before{
+  content:""; }
+
+.bp3-icon-join-table::before{
+  content:""; }
+
+.bp3-icon-key::before{
+  content:""; }
+
+.bp3-icon-key-backspace::before{
+  content:""; }
+
+.bp3-icon-key-command::before{
+  content:""; }
+
+.bp3-icon-key-control::before{
+  content:""; }
+
+.bp3-icon-key-delete::before{
+  content:""; }
+
+.bp3-icon-key-enter::before{
+  content:""; }
+
+.bp3-icon-key-escape::before{
+  content:""; }
+
+.bp3-icon-key-option::before{
+  content:""; }
+
+.bp3-icon-key-shift::before{
+  content:""; }
+
+.bp3-icon-key-tab::before{
+  content:""; }
+
+.bp3-icon-known-vehicle::before{
+  content:""; }
+
+.bp3-icon-lab-test::before{
+  content:""; }
+
+.bp3-icon-label::before{
+  content:""; }
+
+.bp3-icon-layer::before{
+  content:""; }
+
+.bp3-icon-layers::before{
+  content:""; }
+
+.bp3-icon-layout::before{
+  content:""; }
+
+.bp3-icon-layout-auto::before{
+  content:""; }
+
+.bp3-icon-layout-balloon::before{
+  content:""; }
+
+.bp3-icon-layout-circle::before{
+  content:""; }
+
+.bp3-icon-layout-grid::before{
+  content:""; }
+
+.bp3-icon-layout-group-by::before{
+  content:""; }
+
+.bp3-icon-layout-hierarchy::before{
+  content:""; }
+
+.bp3-icon-layout-linear::before{
+  content:""; }
+
+.bp3-icon-layout-skew-grid::before{
+  content:""; }
+
+.bp3-icon-layout-sorted-clusters::before{
+  content:""; }
+
+.bp3-icon-learning::before{
+  content:""; }
+
+.bp3-icon-left-join::before{
+  content:""; }
+
+.bp3-icon-less-than::before{
+  content:""; }
+
+.bp3-icon-less-than-or-equal-to::before{
+  content:""; }
+
+.bp3-icon-lifesaver::before{
+  content:""; }
+
+.bp3-icon-lightbulb::before{
+  content:""; }
+
+.bp3-icon-link::before{
+  content:""; }
+
+.bp3-icon-list::before{
+  content:"☰"; }
+
+.bp3-icon-list-columns::before{
+  content:""; }
+
+.bp3-icon-list-detail-view::before{
+  content:""; }
+
+.bp3-icon-locate::before{
+  content:""; }
+
+.bp3-icon-lock::before{
+  content:""; }
+
+.bp3-icon-log-in::before{
+  content:""; }
+
+.bp3-icon-log-out::before{
+  content:""; }
+
+.bp3-icon-manual::before{
+  content:""; }
+
+.bp3-icon-manually-entered-data::before{
+  content:""; }
+
+.bp3-icon-map::before{
+  content:""; }
+
+.bp3-icon-map-create::before{
+  content:""; }
+
+.bp3-icon-map-marker::before{
+  content:""; }
+
+.bp3-icon-maximize::before{
+  content:""; }
+
+.bp3-icon-media::before{
+  content:""; }
+
+.bp3-icon-menu::before{
+  content:""; }
+
+.bp3-icon-menu-closed::before{
+  content:""; }
+
+.bp3-icon-menu-open::before{
+  content:""; }
+
+.bp3-icon-merge-columns::before{
+  content:""; }
+
+.bp3-icon-merge-links::before{
+  content:""; }
+
+.bp3-icon-minimize::before{
+  content:""; }
+
+.bp3-icon-minus::before{
+  content:"−"; }
+
+.bp3-icon-mobile-phone::before{
+  content:""; }
+
+.bp3-icon-mobile-video::before{
+  content:""; }
+
+.bp3-icon-moon::before{
+  content:""; }
+
+.bp3-icon-more::before{
+  content:""; }
+
+.bp3-icon-mountain::before{
+  content:""; }
+
+.bp3-icon-move::before{
+  content:""; }
+
+.bp3-icon-mugshot::before{
+  content:""; }
+
+.bp3-icon-multi-select::before{
+  content:""; }
+
+.bp3-icon-music::before{
+  content:""; }
+
+.bp3-icon-new-drawing::before{
+  content:""; }
+
+.bp3-icon-new-grid-item::before{
+  content:""; }
+
+.bp3-icon-new-layer::before{
+  content:""; }
+
+.bp3-icon-new-layers::before{
+  content:""; }
+
+.bp3-icon-new-link::before{
+  content:""; }
+
+.bp3-icon-new-object::before{
+  content:""; }
+
+.bp3-icon-new-person::before{
+  content:""; }
+
+.bp3-icon-new-prescription::before{
+  content:""; }
+
+.bp3-icon-new-text-box::before{
+  content:""; }
+
+.bp3-icon-ninja::before{
+  content:""; }
+
+.bp3-icon-not-equal-to::before{
+  content:""; }
+
+.bp3-icon-notifications::before{
+  content:""; }
+
+.bp3-icon-notifications-updated::before{
+  content:""; }
+
+.bp3-icon-numbered-list::before{
+  content:""; }
+
+.bp3-icon-numerical::before{
+  content:""; }
+
+.bp3-icon-office::before{
+  content:""; }
+
+.bp3-icon-offline::before{
+  content:""; }
+
+.bp3-icon-oil-field::before{
+  content:""; }
+
+.bp3-icon-one-column::before{
+  content:""; }
+
+.bp3-icon-outdated::before{
+  content:""; }
+
+.bp3-icon-page-layout::before{
+  content:""; }
+
+.bp3-icon-panel-stats::before{
+  content:""; }
+
+.bp3-icon-panel-table::before{
+  content:""; }
+
+.bp3-icon-paperclip::before{
+  content:""; }
+
+.bp3-icon-paragraph::before{
+  content:""; }
+
+.bp3-icon-path::before{
+  content:""; }
+
+.bp3-icon-path-search::before{
+  content:""; }
+
+.bp3-icon-pause::before{
+  content:""; }
+
+.bp3-icon-people::before{
+  content:""; }
+
+.bp3-icon-percentage::before{
+  content:""; }
+
+.bp3-icon-person::before{
+  content:""; }
+
+.bp3-icon-phone::before{
+  content:"☎"; }
+
+.bp3-icon-pie-chart::before{
+  content:""; }
+
+.bp3-icon-pin::before{
+  content:""; }
+
+.bp3-icon-pivot::before{
+  content:""; }
+
+.bp3-icon-pivot-table::before{
+  content:""; }
+
+.bp3-icon-play::before{
+  content:""; }
+
+.bp3-icon-plus::before{
+  content:"+"; }
+
+.bp3-icon-polygon-filter::before{
+  content:""; }
+
+.bp3-icon-power::before{
+  content:""; }
+
+.bp3-icon-predictive-analysis::before{
+  content:""; }
+
+.bp3-icon-prescription::before{
+  content:""; }
+
+.bp3-icon-presentation::before{
+  content:""; }
+
+.bp3-icon-print::before{
+  content:"⎙"; }
+
+.bp3-icon-projects::before{
+  content:""; }
+
+.bp3-icon-properties::before{
+  content:""; }
+
+.bp3-icon-property::before{
+  content:""; }
+
+.bp3-icon-publish-function::before{
+  content:""; }
+
+.bp3-icon-pulse::before{
+  content:""; }
+
+.bp3-icon-random::before{
+  content:""; }
+
+.bp3-icon-record::before{
+  content:""; }
+
+.bp3-icon-redo::before{
+  content:""; }
+
+.bp3-icon-refresh::before{
+  content:""; }
+
+.bp3-icon-regression-chart::before{
+  content:""; }
+
+.bp3-icon-remove::before{
+  content:""; }
+
+.bp3-icon-remove-column::before{
+  content:""; }
+
+.bp3-icon-remove-column-left::before{
+  content:""; }
+
+.bp3-icon-remove-column-right::before{
+  content:""; }
+
+.bp3-icon-remove-row-bottom::before{
+  content:""; }
+
+.bp3-icon-remove-row-top::before{
+  content:""; }
+
+.bp3-icon-repeat::before{
+  content:""; }
+
+.bp3-icon-reset::before{
+  content:""; }
+
+.bp3-icon-resolve::before{
+  content:""; }
+
+.bp3-icon-rig::before{
+  content:""; }
+
+.bp3-icon-right-join::before{
+  content:""; }
+
+.bp3-icon-ring::before{
+  content:""; }
+
+.bp3-icon-rotate-document::before{
+  content:""; }
+
+.bp3-icon-rotate-page::before{
+  content:""; }
+
+.bp3-icon-satellite::before{
+  content:""; }
+
+.bp3-icon-saved::before{
+  content:""; }
+
+.bp3-icon-scatter-plot::before{
+  content:""; }
+
+.bp3-icon-search::before{
+  content:""; }
+
+.bp3-icon-search-around::before{
+  content:""; }
+
+.bp3-icon-search-template::before{
+  content:""; }
+
+.bp3-icon-search-text::before{
+  content:""; }
+
+.bp3-icon-segmented-control::before{
+  content:""; }
+
+.bp3-icon-select::before{
+  content:""; }
+
+.bp3-icon-selection::before{
+  content:"⦿"; }
+
+.bp3-icon-send-to::before{
+  content:""; }
+
+.bp3-icon-send-to-graph::before{
+  content:""; }
+
+.bp3-icon-send-to-map::before{
+  content:""; }
+
+.bp3-icon-series-add::before{
+  content:""; }
+
+.bp3-icon-series-configuration::before{
+  content:""; }
+
+.bp3-icon-series-derived::before{
+  content:""; }
+
+.bp3-icon-series-filtered::before{
+  content:""; }
+
+.bp3-icon-series-search::before{
+  content:""; }
+
+.bp3-icon-settings::before{
+  content:""; }
+
+.bp3-icon-share::before{
+  content:""; }
+
+.bp3-icon-shield::before{
+  content:""; }
+
+.bp3-icon-shop::before{
+  content:""; }
+
+.bp3-icon-shopping-cart::before{
+  content:""; }
+
+.bp3-icon-signal-search::before{
+  content:""; }
+
+.bp3-icon-sim-card::before{
+  content:""; }
+
+.bp3-icon-slash::before{
+  content:""; }
+
+.bp3-icon-small-cross::before{
+  content:""; }
+
+.bp3-icon-small-minus::before{
+  content:""; }
+
+.bp3-icon-small-plus::before{
+  content:""; }
+
+.bp3-icon-small-tick::before{
+  content:""; }
+
+.bp3-icon-snowflake::before{
+  content:""; }
+
+.bp3-icon-social-media::before{
+  content:""; }
+
+.bp3-icon-sort::before{
+  content:""; }
+
+.bp3-icon-sort-alphabetical::before{
+  content:""; }
+
+.bp3-icon-sort-alphabetical-desc::before{
+  content:""; }
+
+.bp3-icon-sort-asc::before{
+  content:""; }
+
+.bp3-icon-sort-desc::before{
+  content:""; }
+
+.bp3-icon-sort-numerical::before{
+  content:""; }
+
+.bp3-icon-sort-numerical-desc::before{
+  content:""; }
+
+.bp3-icon-split-columns::before{
+  content:""; }
+
+.bp3-icon-square::before{
+  content:""; }
+
+.bp3-icon-stacked-chart::before{
+  content:""; }
+
+.bp3-icon-star::before{
+  content:"★"; }
+
+.bp3-icon-star-empty::before{
+  content:"☆"; }
+
+.bp3-icon-step-backward::before{
+  content:""; }
+
+.bp3-icon-step-chart::before{
+  content:""; }
+
+.bp3-icon-step-forward::before{
+  content:""; }
+
+.bp3-icon-stop::before{
+  content:""; }
+
+.bp3-icon-stopwatch::before{
+  content:""; }
+
+.bp3-icon-strikethrough::before{
+  content:""; }
+
+.bp3-icon-style::before{
+  content:""; }
+
+.bp3-icon-swap-horizontal::before{
+  content:""; }
+
+.bp3-icon-swap-vertical::before{
+  content:""; }
+
+.bp3-icon-symbol-circle::before{
+  content:""; }
+
+.bp3-icon-symbol-cross::before{
+  content:""; }
+
+.bp3-icon-symbol-diamond::before{
+  content:""; }
+
+.bp3-icon-symbol-square::before{
+  content:""; }
+
+.bp3-icon-symbol-triangle-down::before{
+  content:""; }
+
+.bp3-icon-symbol-triangle-up::before{
+  content:""; }
+
+.bp3-icon-tag::before{
+  content:""; }
+
+.bp3-icon-take-action::before{
+  content:""; }
+
+.bp3-icon-taxi::before{
+  content:""; }
+
+.bp3-icon-text-highlight::before{
+  content:""; }
+
+.bp3-icon-th::before{
+  content:""; }
+
+.bp3-icon-th-derived::before{
+  content:""; }
+
+.bp3-icon-th-disconnect::before{
+  content:""; }
+
+.bp3-icon-th-filtered::before{
+  content:""; }
+
+.bp3-icon-th-list::before{
+  content:""; }
+
+.bp3-icon-thumbs-down::before{
+  content:""; }
+
+.bp3-icon-thumbs-up::before{
+  content:""; }
+
+.bp3-icon-tick::before{
+  content:"✓"; }
+
+.bp3-icon-tick-circle::before{
+  content:""; }
+
+.bp3-icon-time::before{
+  content:"⏲"; }
+
+.bp3-icon-timeline-area-chart::before{
+  content:""; }
+
+.bp3-icon-timeline-bar-chart::before{
+  content:""; }
+
+.bp3-icon-timeline-events::before{
+  content:""; }
+
+.bp3-icon-timeline-line-chart::before{
+  content:""; }
+
+.bp3-icon-tint::before{
+  content:""; }
+
+.bp3-icon-torch::before{
+  content:""; }
+
+.bp3-icon-tractor::before{
+  content:""; }
+
+.bp3-icon-train::before{
+  content:""; }
+
+.bp3-icon-translate::before{
+  content:""; }
+
+.bp3-icon-trash::before{
+  content:""; }
+
+.bp3-icon-tree::before{
+  content:""; }
+
+.bp3-icon-trending-down::before{
+  content:""; }
+
+.bp3-icon-trending-up::before{
+  content:""; }
+
+.bp3-icon-truck::before{
+  content:""; }
+
+.bp3-icon-two-columns::before{
+  content:""; }
+
+.bp3-icon-unarchive::before{
+  content:""; }
+
+.bp3-icon-underline::before{
+  content:"⎁"; }
+
+.bp3-icon-undo::before{
+  content:"⎌"; }
+
+.bp3-icon-ungroup-objects::before{
+  content:""; }
+
+.bp3-icon-unknown-vehicle::before{
+  content:""; }
+
+.bp3-icon-unlock::before{
+  content:""; }
+
+.bp3-icon-unpin::before{
+  content:""; }
+
+.bp3-icon-unresolve::before{
+  content:""; }
+
+.bp3-icon-updated::before{
+  content:""; }
+
+.bp3-icon-upload::before{
+  content:""; }
+
+.bp3-icon-user::before{
+  content:""; }
+
+.bp3-icon-variable::before{
+  content:""; }
+
+.bp3-icon-vertical-bar-chart-asc::before{
+  content:""; }
+
+.bp3-icon-vertical-bar-chart-desc::before{
+  content:""; }
+
+.bp3-icon-vertical-distribution::before{
+  content:""; }
+
+.bp3-icon-video::before{
+  content:""; }
+
+.bp3-icon-volume-down::before{
+  content:""; }
+
+.bp3-icon-volume-off::before{
+  content:""; }
+
+.bp3-icon-volume-up::before{
+  content:""; }
+
+.bp3-icon-walk::before{
+  content:""; }
+
+.bp3-icon-warning-sign::before{
+  content:""; }
+
+.bp3-icon-waterfall-chart::before{
+  content:""; }
+
+.bp3-icon-widget::before{
+  content:""; }
+
+.bp3-icon-widget-button::before{
+  content:""; }
+
+.bp3-icon-widget-footer::before{
+  content:""; }
+
+.bp3-icon-widget-header::before{
+  content:""; }
+
+.bp3-icon-wrench::before{
+  content:""; }
+
+.bp3-icon-zoom-in::before{
+  content:""; }
+
+.bp3-icon-zoom-out::before{
+  content:""; }
+
+.bp3-icon-zoom-to-fit::before{
+  content:""; }
+.bp3-submenu > .bp3-popover-wrapper{
+  display:block; }
+
+.bp3-submenu .bp3-popover-target{
+  display:block; }
+  .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-menu-item{ }
+
+.bp3-submenu.bp3-popover{
+  -webkit-box-shadow:none;
+          box-shadow:none;
+  padding:0 5px; }
+  .bp3-submenu.bp3-popover > .bp3-popover-content{
+    -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 2px 4px rgba(16, 22, 26, 0.2), 0 8px 24px rgba(16, 22, 26, 0.2);
+            box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 2px 4px rgba(16, 22, 26, 0.2), 0 8px 24px rgba(16, 22, 26, 0.2); }
+  .bp3-dark .bp3-submenu.bp3-popover, .bp3-submenu.bp3-popover.bp3-dark{
+    -webkit-box-shadow:none;
+            box-shadow:none; }
+    .bp3-dark .bp3-submenu.bp3-popover > .bp3-popover-content, .bp3-submenu.bp3-popover.bp3-dark > .bp3-popover-content{
+      -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 2px 4px rgba(16, 22, 26, 0.4), 0 8px 24px rgba(16, 22, 26, 0.4);
+              box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 2px 4px rgba(16, 22, 26, 0.4), 0 8px 24px rgba(16, 22, 26, 0.4); }
+.bp3-menu{
+  background:#ffffff;
+  border-radius:3px;
+  color:#182026;
+  list-style:none;
+  margin:0;
+  min-width:180px;
+  padding:5px;
+  text-align:left; }
+
+.bp3-menu-divider{
+  border-top:1px solid rgba(16, 22, 26, 0.15);
+  display:block;
+  margin:5px; }
+  .bp3-dark .bp3-menu-divider{
+    border-top-color:rgba(255, 255, 255, 0.15); }
+
+.bp3-menu-item{
+  display:-webkit-box;
+  display:-ms-flexbox;
+  display:flex;
+  -webkit-box-orient:horizontal;
+  -webkit-box-direction:normal;
+      -ms-flex-direction:row;
+          flex-direction:row;
+  -webkit-box-align:start;
+      -ms-flex-align:start;
+          align-items:flex-start;
+  border-radius:2px;
+  color:inherit;
+  line-height:20px;
+  padding:5px 7px;
+  text-decoration:none;
+  -webkit-user-select:none;
+     -moz-user-select:none;
+      -ms-user-select:none;
+          user-select:none; }
+  .bp3-menu-item > *{
+    -webkit-box-flex:0;
+        -ms-flex-positive:0;
+            flex-grow:0;
+    -ms-flex-negative:0;
+        flex-shrink:0; }
+  .bp3-menu-item > .bp3-fill{
+    -webkit-box-flex:1;
+        -ms-flex-positive:1;
+            flex-grow:1;
+    -ms-flex-negative:1;
+        flex-shrink:1; }
+  .bp3-menu-item::before,
+  .bp3-menu-item > *{
+    margin-right:7px; }
+  .bp3-menu-item:empty::before,
+  .bp3-menu-item > :last-child{
+    margin-right:0; }
+  .bp3-menu-item > .bp3-fill{
+    word-break:break-word; }
+  .bp3-menu-item:hover, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-menu-item{
+    background-color:rgba(167, 182, 194, 0.3);
+    cursor:pointer;
+    text-decoration:none; }
+  .bp3-menu-item.bp3-disabled{
+    background-color:inherit;
+    color:rgba(92, 112, 128, 0.6);
+    cursor:not-allowed; }
+  .bp3-dark .bp3-menu-item{
+    color:inherit; }
+    .bp3-dark .bp3-menu-item:hover, .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-menu-item, .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-menu-item{
+      background-color:rgba(138, 155, 168, 0.15);
+      color:inherit; }
+    .bp3-dark .bp3-menu-item.bp3-disabled{
+      background-color:inherit;
+      color:rgba(167, 182, 194, 0.6); }
+  .bp3-menu-item.bp3-intent-primary{
+    color:#106ba3; }
+    .bp3-menu-item.bp3-intent-primary .bp3-icon{
+      color:inherit; }
+    .bp3-menu-item.bp3-intent-primary::before, .bp3-menu-item.bp3-intent-primary::after,
+    .bp3-menu-item.bp3-intent-primary .bp3-menu-item-label{
+      color:#106ba3; }
+    .bp3-menu-item.bp3-intent-primary:hover, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-primary.bp3-menu-item, .bp3-menu-item.bp3-intent-primary.bp3-active{
+      background-color:#137cbd; }
+    .bp3-menu-item.bp3-intent-primary:active{
+      background-color:#106ba3; }
+    .bp3-menu-item.bp3-intent-primary:hover, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-primary.bp3-menu-item, .bp3-menu-item.bp3-intent-primary:hover::before, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-primary.bp3-menu-item::before, .bp3-menu-item.bp3-intent-primary:hover::after, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-primary.bp3-menu-item::after,
+    .bp3-menu-item.bp3-intent-primary:hover .bp3-menu-item-label,
+    .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-primary.bp3-menu-item .bp3-menu-item-label, .bp3-menu-item.bp3-intent-primary:active, .bp3-menu-item.bp3-intent-primary:active::before, .bp3-menu-item.bp3-intent-primary:active::after,
+    .bp3-menu-item.bp3-intent-primary:active .bp3-menu-item-label, .bp3-menu-item.bp3-intent-primary.bp3-active, .bp3-menu-item.bp3-intent-primary.bp3-active::before, .bp3-menu-item.bp3-intent-primary.bp3-active::after,
+    .bp3-menu-item.bp3-intent-primary.bp3-active .bp3-menu-item-label{
+      color:#ffffff; }
+  .bp3-menu-item.bp3-intent-success{
+    color:#0d8050; }
+    .bp3-menu-item.bp3-intent-success .bp3-icon{
+      color:inherit; }
+    .bp3-menu-item.bp3-intent-success::before, .bp3-menu-item.bp3-intent-success::after,
+    .bp3-menu-item.bp3-intent-success .bp3-menu-item-label{
+      color:#0d8050; }
+    .bp3-menu-item.bp3-intent-success:hover, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-success.bp3-menu-item, .bp3-menu-item.bp3-intent-success.bp3-active{
+      background-color:#0f9960; }
+    .bp3-menu-item.bp3-intent-success:active{
+      background-color:#0d8050; }
+    .bp3-menu-item.bp3-intent-success:hover, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-success.bp3-menu-item, .bp3-menu-item.bp3-intent-success:hover::before, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-success.bp3-menu-item::before, .bp3-menu-item.bp3-intent-success:hover::after, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-success.bp3-menu-item::after,
+    .bp3-menu-item.bp3-intent-success:hover .bp3-menu-item-label,
+    .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-success.bp3-menu-item .bp3-menu-item-label, .bp3-menu-item.bp3-intent-success:active, .bp3-menu-item.bp3-intent-success:active::before, .bp3-menu-item.bp3-intent-success:active::after,
+    .bp3-menu-item.bp3-intent-success:active .bp3-menu-item-label, .bp3-menu-item.bp3-intent-success.bp3-active, .bp3-menu-item.bp3-intent-success.bp3-active::before, .bp3-menu-item.bp3-intent-success.bp3-active::after,
+    .bp3-menu-item.bp3-intent-success.bp3-active .bp3-menu-item-label{
+      color:#ffffff; }
+  .bp3-menu-item.bp3-intent-warning{
+    color:#bf7326; }
+    .bp3-menu-item.bp3-intent-warning .bp3-icon{
+      color:inherit; }
+    .bp3-menu-item.bp3-intent-warning::before, .bp3-menu-item.bp3-intent-warning::after,
+    .bp3-menu-item.bp3-intent-warning .bp3-menu-item-label{
+      color:#bf7326; }
+    .bp3-menu-item.bp3-intent-warning:hover, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-warning.bp3-menu-item, .bp3-menu-item.bp3-intent-warning.bp3-active{
+      background-color:#d9822b; }
+    .bp3-menu-item.bp3-intent-warning:active{
+      background-color:#bf7326; }
+    .bp3-menu-item.bp3-intent-warning:hover, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-warning.bp3-menu-item, .bp3-menu-item.bp3-intent-warning:hover::before, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-warning.bp3-menu-item::before, .bp3-menu-item.bp3-intent-warning:hover::after, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-warning.bp3-menu-item::after,
+    .bp3-menu-item.bp3-intent-warning:hover .bp3-menu-item-label,
+    .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-warning.bp3-menu-item .bp3-menu-item-label, .bp3-menu-item.bp3-intent-warning:active, .bp3-menu-item.bp3-intent-warning:active::before, .bp3-menu-item.bp3-intent-warning:active::after,
+    .bp3-menu-item.bp3-intent-warning:active .bp3-menu-item-label, .bp3-menu-item.bp3-intent-warning.bp3-active, .bp3-menu-item.bp3-intent-warning.bp3-active::before, .bp3-menu-item.bp3-intent-warning.bp3-active::after,
+    .bp3-menu-item.bp3-intent-warning.bp3-active .bp3-menu-item-label{
+      color:#ffffff; }
+  .bp3-menu-item.bp3-intent-danger{
+    color:#c23030; }
+    .bp3-menu-item.bp3-intent-danger .bp3-icon{
+      color:inherit; }
+    .bp3-menu-item.bp3-intent-danger::before, .bp3-menu-item.bp3-intent-danger::after,
+    .bp3-menu-item.bp3-intent-danger .bp3-menu-item-label{
+      color:#c23030; }
+    .bp3-menu-item.bp3-intent-danger:hover, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-danger.bp3-menu-item, .bp3-menu-item.bp3-intent-danger.bp3-active{
+      background-color:#db3737; }
+    .bp3-menu-item.bp3-intent-danger:active{
+      background-color:#c23030; }
+    .bp3-menu-item.bp3-intent-danger:hover, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-danger.bp3-menu-item, .bp3-menu-item.bp3-intent-danger:hover::before, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-danger.bp3-menu-item::before, .bp3-menu-item.bp3-intent-danger:hover::after, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-danger.bp3-menu-item::after,
+    .bp3-menu-item.bp3-intent-danger:hover .bp3-menu-item-label,
+    .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-danger.bp3-menu-item .bp3-menu-item-label, .bp3-menu-item.bp3-intent-danger:active, .bp3-menu-item.bp3-intent-danger:active::before, .bp3-menu-item.bp3-intent-danger:active::after,
+    .bp3-menu-item.bp3-intent-danger:active .bp3-menu-item-label, .bp3-menu-item.bp3-intent-danger.bp3-active, .bp3-menu-item.bp3-intent-danger.bp3-active::before, .bp3-menu-item.bp3-intent-danger.bp3-active::after,
+    .bp3-menu-item.bp3-intent-danger.bp3-active .bp3-menu-item-label{
+      color:#ffffff; }
+  .bp3-menu-item::before{
+    font-family:"Icons16", sans-serif;
+    font-size:16px;
+    font-style:normal;
+    font-weight:400;
+    line-height:1;
+    -moz-osx-font-smoothing:grayscale;
+    -webkit-font-smoothing:antialiased;
+    margin-right:7px; }
+  .bp3-menu-item::before,
+  .bp3-menu-item > .bp3-icon{
+    color:#5c7080;
+    margin-top:2px; }
+  .bp3-menu-item .bp3-menu-item-label{
+    color:#5c7080; }
+  .bp3-menu-item:hover, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-menu-item{
+    color:inherit; }
+  .bp3-menu-item.bp3-active, .bp3-menu-item:active{
+    background-color:rgba(115, 134, 148, 0.3); }
+  .bp3-menu-item.bp3-disabled{
+    background-color:inherit !important;
+    color:rgba(92, 112, 128, 0.6) !important;
+    cursor:not-allowed !important;
+    outline:none !important; }
+    .bp3-menu-item.bp3-disabled::before,
+    .bp3-menu-item.bp3-disabled > .bp3-icon,
+    .bp3-menu-item.bp3-disabled .bp3-menu-item-label{
+      color:rgba(92, 112, 128, 0.6) !important; }
+  .bp3-large .bp3-menu-item{
+    font-size:16px;
+    line-height:22px;
+    padding:9px 7px; }
+    .bp3-large .bp3-menu-item .bp3-icon{
+      margin-top:3px; }
+    .bp3-large .bp3-menu-item::before{
+      font-family:"Icons20", sans-serif;
+      font-size:20px;
+      font-style:normal;
+      font-weight:400;
+      line-height:1;
+      -moz-osx-font-smoothing:grayscale;
+      -webkit-font-smoothing:antialiased;
+      margin-right:10px;
+      margin-top:1px; }
+
+button.bp3-menu-item{
+  background:none;
+  border:none;
+  text-align:left;
+  width:100%; }
+.bp3-menu-header{
+  border-top:1px solid rgba(16, 22, 26, 0.15);
+  display:block;
+  margin:5px;
+  cursor:default;
+  padding-left:2px; }
+  .bp3-dark .bp3-menu-header{
+    border-top-color:rgba(255, 255, 255, 0.15); }
+  .bp3-menu-header:first-of-type{
+    border-top:none; }
+  .bp3-menu-header > h6{
+    color:#182026;
+    font-weight:600;
+    overflow:hidden;
+    text-overflow:ellipsis;
+    white-space:nowrap;
+    word-wrap:normal;
+    line-height:17px;
+    margin:0;
+    padding:10px 7px 0 1px; }
+    .bp3-dark .bp3-menu-header > h6{
+      color:#f5f8fa; }
+  .bp3-menu-header:first-of-type > h6{
+    padding-top:0; }
+  .bp3-large .bp3-menu-header > h6{
+    font-size:18px;
+    padding-bottom:5px;
+    padding-top:15px; }
+  .bp3-large .bp3-menu-header:first-of-type > h6{
+    padding-top:0; }
+
+.bp3-dark .bp3-menu{
+  background:#30404d;
+  color:#f5f8fa; }
+
+.bp3-dark .bp3-menu-item{ }
+  .bp3-dark .bp3-menu-item.bp3-intent-primary{
+    color:#48aff0; }
+    .bp3-dark .bp3-menu-item.bp3-intent-primary .bp3-icon{
+      color:inherit; }
+    .bp3-dark .bp3-menu-item.bp3-intent-primary::before, .bp3-dark .bp3-menu-item.bp3-intent-primary::after,
+    .bp3-dark .bp3-menu-item.bp3-intent-primary .bp3-menu-item-label{
+      color:#48aff0; }
+    .bp3-dark .bp3-menu-item.bp3-intent-primary:hover, .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-primary.bp3-menu-item, .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-primary.bp3-menu-item, .bp3-dark .bp3-menu-item.bp3-intent-primary.bp3-active{
+      background-color:#137cbd; }
+    .bp3-dark .bp3-menu-item.bp3-intent-primary:active{
+      background-color:#106ba3; }
+    .bp3-dark .bp3-menu-item.bp3-intent-primary:hover, .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-primary.bp3-menu-item, .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-primary.bp3-menu-item, .bp3-dark .bp3-menu-item.bp3-intent-primary:hover::before, .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-primary.bp3-menu-item::before, .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-primary.bp3-menu-item::before, .bp3-dark .bp3-menu-item.bp3-intent-primary:hover::after, .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-primary.bp3-menu-item::after, .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-primary.bp3-menu-item::after,
+    .bp3-dark .bp3-menu-item.bp3-intent-primary:hover .bp3-menu-item-label,
+    .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-primary.bp3-menu-item .bp3-menu-item-label,
+    .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-primary.bp3-menu-item .bp3-menu-item-label, .bp3-dark .bp3-menu-item.bp3-intent-primary:active, .bp3-dark .bp3-menu-item.bp3-intent-primary:active::before, .bp3-dark .bp3-menu-item.bp3-intent-primary:active::after,
+    .bp3-dark .bp3-menu-item.bp3-intent-primary:active .bp3-menu-item-label, .bp3-dark .bp3-menu-item.bp3-intent-primary.bp3-active, .bp3-dark .bp3-menu-item.bp3-intent-primary.bp3-active::before, .bp3-dark .bp3-menu-item.bp3-intent-primary.bp3-active::after,
+    .bp3-dark .bp3-menu-item.bp3-intent-primary.bp3-active .bp3-menu-item-label{
+      color:#ffffff; }
+  .bp3-dark .bp3-menu-item.bp3-intent-success{
+    color:#3dcc91; }
+    .bp3-dark .bp3-menu-item.bp3-intent-success .bp3-icon{
+      color:inherit; }
+    .bp3-dark .bp3-menu-item.bp3-intent-success::before, .bp3-dark .bp3-menu-item.bp3-intent-success::after,
+    .bp3-dark .bp3-menu-item.bp3-intent-success .bp3-menu-item-label{
+      color:#3dcc91; }
+    .bp3-dark .bp3-menu-item.bp3-intent-success:hover, .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-success.bp3-menu-item, .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-success.bp3-menu-item, .bp3-dark .bp3-menu-item.bp3-intent-success.bp3-active{
+      background-color:#0f9960; }
+    .bp3-dark .bp3-menu-item.bp3-intent-success:active{
+      background-color:#0d8050; }
+    .bp3-dark .bp3-menu-item.bp3-intent-success:hover, .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-success.bp3-menu-item, .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-success.bp3-menu-item, .bp3-dark .bp3-menu-item.bp3-intent-success:hover::before, .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-success.bp3-menu-item::before, .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-success.bp3-menu-item::before, .bp3-dark .bp3-menu-item.bp3-intent-success:hover::after, .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-success.bp3-menu-item::after, .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-success.bp3-menu-item::after,
+    .bp3-dark .bp3-menu-item.bp3-intent-success:hover .bp3-menu-item-label,
+    .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-success.bp3-menu-item .bp3-menu-item-label,
+    .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-success.bp3-menu-item .bp3-menu-item-label, .bp3-dark .bp3-menu-item.bp3-intent-success:active, .bp3-dark .bp3-menu-item.bp3-intent-success:active::before, .bp3-dark .bp3-menu-item.bp3-intent-success:active::after,
+    .bp3-dark .bp3-menu-item.bp3-intent-success:active .bp3-menu-item-label, .bp3-dark .bp3-menu-item.bp3-intent-success.bp3-active, .bp3-dark .bp3-menu-item.bp3-intent-success.bp3-active::before, .bp3-dark .bp3-menu-item.bp3-intent-success.bp3-active::after,
+    .bp3-dark .bp3-menu-item.bp3-intent-success.bp3-active .bp3-menu-item-label{
+      color:#ffffff; }
+  .bp3-dark .bp3-menu-item.bp3-intent-warning{
+    color:#ffb366; }
+    .bp3-dark .bp3-menu-item.bp3-intent-warning .bp3-icon{
+      color:inherit; }
+    .bp3-dark .bp3-menu-item.bp3-intent-warning::before, .bp3-dark .bp3-menu-item.bp3-intent-warning::after,
+    .bp3-dark .bp3-menu-item.bp3-intent-warning .bp3-menu-item-label{
+      color:#ffb366; }
+    .bp3-dark .bp3-menu-item.bp3-intent-warning:hover, .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-warning.bp3-menu-item, .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-warning.bp3-menu-item, .bp3-dark .bp3-menu-item.bp3-intent-warning.bp3-active{
+      background-color:#d9822b; }
+    .bp3-dark .bp3-menu-item.bp3-intent-warning:active{
+      background-color:#bf7326; }
+    .bp3-dark .bp3-menu-item.bp3-intent-warning:hover, .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-warning.bp3-menu-item, .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-warning.bp3-menu-item, .bp3-dark .bp3-menu-item.bp3-intent-warning:hover::before, .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-warning.bp3-menu-item::before, .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-warning.bp3-menu-item::before, .bp3-dark .bp3-menu-item.bp3-intent-warning:hover::after, .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-warning.bp3-menu-item::after, .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-warning.bp3-menu-item::after,
+    .bp3-dark .bp3-menu-item.bp3-intent-warning:hover .bp3-menu-item-label,
+    .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-warning.bp3-menu-item .bp3-menu-item-label,
+    .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-warning.bp3-menu-item .bp3-menu-item-label, .bp3-dark .bp3-menu-item.bp3-intent-warning:active, .bp3-dark .bp3-menu-item.bp3-intent-warning:active::before, .bp3-dark .bp3-menu-item.bp3-intent-warning:active::after,
+    .bp3-dark .bp3-menu-item.bp3-intent-warning:active .bp3-menu-item-label, .bp3-dark .bp3-menu-item.bp3-intent-warning.bp3-active, .bp3-dark .bp3-menu-item.bp3-intent-warning.bp3-active::before, .bp3-dark .bp3-menu-item.bp3-intent-warning.bp3-active::after,
+    .bp3-dark .bp3-menu-item.bp3-intent-warning.bp3-active .bp3-menu-item-label{
+      color:#ffffff; }
+  .bp3-dark .bp3-menu-item.bp3-intent-danger{
+    color:#ff7373; }
+    .bp3-dark .bp3-menu-item.bp3-intent-danger .bp3-icon{
+      color:inherit; }
+    .bp3-dark .bp3-menu-item.bp3-intent-danger::before, .bp3-dark .bp3-menu-item.bp3-intent-danger::after,
+    .bp3-dark .bp3-menu-item.bp3-intent-danger .bp3-menu-item-label{
+      color:#ff7373; }
+    .bp3-dark .bp3-menu-item.bp3-intent-danger:hover, .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-danger.bp3-menu-item, .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-danger.bp3-menu-item, .bp3-dark .bp3-menu-item.bp3-intent-danger.bp3-active{
+      background-color:#db3737; }
+    .bp3-dark .bp3-menu-item.bp3-intent-danger:active{
+      background-color:#c23030; }
+    .bp3-dark .bp3-menu-item.bp3-intent-danger:hover, .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-danger.bp3-menu-item, .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-danger.bp3-menu-item, .bp3-dark .bp3-menu-item.bp3-intent-danger:hover::before, .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-danger.bp3-menu-item::before, .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-danger.bp3-menu-item::before, .bp3-dark .bp3-menu-item.bp3-intent-danger:hover::after, .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-danger.bp3-menu-item::after, .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-danger.bp3-menu-item::after,
+    .bp3-dark .bp3-menu-item.bp3-intent-danger:hover .bp3-menu-item-label,
+    .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-danger.bp3-menu-item .bp3-menu-item-label,
+    .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-danger.bp3-menu-item .bp3-menu-item-label, .bp3-dark .bp3-menu-item.bp3-intent-danger:active, .bp3-dark .bp3-menu-item.bp3-intent-danger:active::before, .bp3-dark .bp3-menu-item.bp3-intent-danger:active::after,
+    .bp3-dark .bp3-menu-item.bp3-intent-danger:active .bp3-menu-item-label, .bp3-dark .bp3-menu-item.bp3-intent-danger.bp3-active, .bp3-dark .bp3-menu-item.bp3-intent-danger.bp3-active::before, .bp3-dark .bp3-menu-item.bp3-intent-danger.bp3-active::after,
+    .bp3-dark .bp3-menu-item.bp3-intent-danger.bp3-active .bp3-menu-item-label{
+      color:#ffffff; }
+  .bp3-dark .bp3-menu-item::before,
+  .bp3-dark .bp3-menu-item > .bp3-icon{
+    color:#a7b6c2; }
+  .bp3-dark .bp3-menu-item .bp3-menu-item-label{
+    color:#a7b6c2; }
+  .bp3-dark .bp3-menu-item.bp3-active, .bp3-dark .bp3-menu-item:active{
+    background-color:rgba(138, 155, 168, 0.3); }
+  .bp3-dark .bp3-menu-item.bp3-disabled{
+    color:rgba(167, 182, 194, 0.6) !important; }
+    .bp3-dark .bp3-menu-item.bp3-disabled::before,
+    .bp3-dark .bp3-menu-item.bp3-disabled > .bp3-icon,
+    .bp3-dark .bp3-menu-item.bp3-disabled .bp3-menu-item-label{
+      color:rgba(167, 182, 194, 0.6) !important; }
+
+.bp3-dark .bp3-menu-divider,
+.bp3-dark .bp3-menu-header{
+  border-color:rgba(255, 255, 255, 0.15); }
+
+.bp3-dark .bp3-menu-header > h6{
+  color:#f5f8fa; }
+
+.bp3-label .bp3-menu{
+  margin-top:5px; }
+.bp3-navbar{
+  background-color:#ffffff;
+  -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.2);
+          box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.2);
+  height:50px;
+  padding:0 15px;
+  position:relative;
+  width:100%;
+  z-index:10; }
+  .bp3-navbar.bp3-dark,
+  .bp3-dark .bp3-navbar{
+    background-color:#394b59; }
+  .bp3-navbar.bp3-dark{
+    -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.4);
+            box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.4); }
+  .bp3-dark .bp3-navbar{
+    -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.4);
+            box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.4); }
+  .bp3-navbar.bp3-fixed-top{
+    left:0;
+    position:fixed;
+    right:0;
+    top:0; }
+
+.bp3-navbar-heading{
+  font-size:16px;
+  margin-right:15px; }
+
+.bp3-navbar-group{
+  -webkit-box-align:center;
+      -ms-flex-align:center;
+          align-items:center;
+  display:-webkit-box;
+  display:-ms-flexbox;
+  display:flex;
+  height:50px; }
+  .bp3-navbar-group.bp3-align-left{
+    float:left; }
+  .bp3-navbar-group.bp3-align-right{
+    float:right; }
+
+.bp3-navbar-divider{
+  border-left:1px solid rgba(16, 22, 26, 0.15);
+  height:20px;
+  margin:0 10px; }
+  .bp3-dark .bp3-navbar-divider{
+    border-left-color:rgba(255, 255, 255, 0.15); }
+.bp3-non-ideal-state{
+  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-align:center;
+      -ms-flex-align:center;
+          align-items:center;
+  height:100%;
+  -webkit-box-pack:center;
+      -ms-flex-pack:center;
+          justify-content:center;
+  text-align:center;
+  width:100%; }
+  .bp3-non-ideal-state > *{
+    -webkit-box-flex:0;
+        -ms-flex-positive:0;
+            flex-grow:0;
+    -ms-flex-negative:0;
+        flex-shrink:0; }
+  .bp3-non-ideal-state > .bp3-fill{
+    -webkit-box-flex:1;
+        -ms-flex-positive:1;
+            flex-grow:1;
+    -ms-flex-negative:1;
+        flex-shrink:1; }
+  .bp3-non-ideal-state::before,
+  .bp3-non-ideal-state > *{
+    margin-bottom:20px; }
+  .bp3-non-ideal-state:empty::before,
+  .bp3-non-ideal-state > :last-child{
+    margin-bottom:0; }
+  .bp3-non-ideal-state > *{
+    max-width:400px; }
+
+.bp3-non-ideal-state-visual{
+  color:rgba(92, 112, 128, 0.6);
+  font-size:60px; }
+  .bp3-dark .bp3-non-ideal-state-visual{
+    color:rgba(167, 182, 194, 0.6); }
+
+.bp3-overflow-list{
+  display:-webkit-box;
+  display:-ms-flexbox;
+  display:flex;
+  -ms-flex-wrap:nowrap;
+      flex-wrap:nowrap;
+  min-width:0; }
+
+.bp3-overflow-list-spacer{
+  -ms-flex-negative:1;
+      flex-shrink:1;
+  width:1px; }
+
+body.bp3-overlay-open{
+  overflow:hidden; }
+
+.bp3-overlay{
+  bottom:0;
+  left:0;
+  position:static;
+  right:0;
+  top:0;
+  z-index:20; }
+  .bp3-overlay:not(.bp3-overlay-open){
+    pointer-events:none; }
+  .bp3-overlay.bp3-overlay-container{
+    overflow:hidden;
+    position:fixed; }
+    .bp3-overlay.bp3-overlay-container.bp3-overlay-inline{
+      position:absolute; }
+  .bp3-overlay.bp3-overlay-scroll-container{
+    overflow:auto;
+    position:fixed; }
+    .bp3-overlay.bp3-overlay-scroll-container.bp3-overlay-inline{
+      position:absolute; }
+  .bp3-overlay.bp3-overlay-inline{
+    display:inline;
+    overflow:visible; }
+
+.bp3-overlay-content{
+  position:fixed;
+  z-index:20; }
+  .bp3-overlay-inline .bp3-overlay-content,
+  .bp3-overlay-scroll-container .bp3-overlay-content{
+    position:absolute; }
+
+.bp3-overlay-backdrop{
+  bottom:0;
+  left:0;
+  position:fixed;
+  right:0;
+  top:0;
+  opacity:1;
+  background-color:rgba(16, 22, 26, 0.7);
+  overflow:auto;
+  -webkit-user-select:none;
+     -moz-user-select:none;
+      -ms-user-select:none;
+          user-select:none;
+  z-index:20; }
+  .bp3-overlay-backdrop.bp3-overlay-enter, .bp3-overlay-backdrop.bp3-overlay-appear{
+    opacity:0; }
+  .bp3-overlay-backdrop.bp3-overlay-enter-active, .bp3-overlay-backdrop.bp3-overlay-appear-active{
+    opacity:1;
+    -webkit-transition-delay:0;
+            transition-delay:0;
+    -webkit-transition-duration:200ms;
+            transition-duration:200ms;
+    -webkit-transition-property:opacity;
+    transition-property:opacity;
+    -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9);
+            transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); }
+  .bp3-overlay-backdrop.bp3-overlay-exit{
+    opacity:1; }
+  .bp3-overlay-backdrop.bp3-overlay-exit-active{
+    opacity:0;
+    -webkit-transition-delay:0;
+            transition-delay:0;
+    -webkit-transition-duration:200ms;
+            transition-duration:200ms;
+    -webkit-transition-property:opacity;
+    transition-property:opacity;
+    -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9);
+            transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); }
+  .bp3-overlay-backdrop:focus{
+    outline:none; }
+  .bp3-overlay-inline .bp3-overlay-backdrop{
+    position:absolute; }
+.bp3-panel-stack{
+  overflow:hidden;
+  position:relative; }
+
+.bp3-panel-stack-header{
+  -webkit-box-align:center;
+      -ms-flex-align:center;
+          align-items:center;
+  -webkit-box-shadow:0 1px rgba(16, 22, 26, 0.15);
+          box-shadow:0 1px rgba(16, 22, 26, 0.15);
+  display:-webkit-box;
+  display:-ms-flexbox;
+  display:flex;
+  -ms-flex-negative:0;
+      flex-shrink:0;
+  height:30px;
+  z-index:1; }
+  .bp3-dark .bp3-panel-stack-header{
+    -webkit-box-shadow:0 1px rgba(255, 255, 255, 0.15);
+            box-shadow:0 1px rgba(255, 255, 255, 0.15); }
+  .bp3-panel-stack-header > span{
+    -webkit-box-align:stretch;
+        -ms-flex-align:stretch;
+            align-items:stretch;
+    display:-webkit-box;
+    display:-ms-flexbox;
+    display:flex;
+    -webkit-box-flex:1;
+        -ms-flex:1;
+            flex:1; }
+  .bp3-panel-stack-header .bp3-heading{
+    margin:0 5px; }
+
+.bp3-button.bp3-panel-stack-header-back{
+  margin-left:5px;
+  padding-left:0;
+  white-space:nowrap; }
+  .bp3-button.bp3-panel-stack-header-back .bp3-icon{
+    margin:0 2px; }
+
+.bp3-panel-stack-view{
+  bottom:0;
+  left:0;
+  position:absolute;
+  right:0;
+  top:0;
+  background-color:#ffffff;
+  border-right:1px solid rgba(16, 22, 26, 0.15);
+  display:-webkit-box;
+  display:-ms-flexbox;
+  display:flex;
+  -webkit-box-orient:vertical;
+  -webkit-box-direction:normal;
+      -ms-flex-direction:column;
+          flex-direction:column;
+  margin-right:-1px;
+  overflow-y:auto;
+  z-index:1; }
+  .bp3-dark .bp3-panel-stack-view{
+    background-color:#30404d; }
+  .bp3-panel-stack-view:nth-last-child(n + 4){
+    display:none; }
+
+.bp3-panel-stack-push .bp3-panel-stack-enter, .bp3-panel-stack-push .bp3-panel-stack-appear{
+  -webkit-transform:translateX(100%);
+          transform:translateX(100%);
+  opacity:0; }
+
+.bp3-panel-stack-push .bp3-panel-stack-enter-active, .bp3-panel-stack-push .bp3-panel-stack-appear-active{
+  -webkit-transform:translate(0%);
+          transform:translate(0%);
+  opacity:1;
+  -webkit-transition-delay:0;
+          transition-delay:0;
+  -webkit-transition-duration:400ms;
+          transition-duration:400ms;
+  -webkit-transition-property:opacity, -webkit-transform;
+  transition-property:opacity, -webkit-transform;
+  transition-property:transform, opacity;
+  transition-property:transform, opacity, -webkit-transform;
+  -webkit-transition-timing-function:ease;
+          transition-timing-function:ease; }
+
+.bp3-panel-stack-push .bp3-panel-stack-exit{
+  -webkit-transform:translate(0%);
+          transform:translate(0%);
+  opacity:1; }
+
+.bp3-panel-stack-push .bp3-panel-stack-exit-active{
+  -webkit-transform:translateX(-50%);
+          transform:translateX(-50%);
+  opacity:0;
+  -webkit-transition-delay:0;
+          transition-delay:0;
+  -webkit-transition-duration:400ms;
+          transition-duration:400ms;
+  -webkit-transition-property:opacity, -webkit-transform;
+  transition-property:opacity, -webkit-transform;
+  transition-property:transform, opacity;
+  transition-property:transform, opacity, -webkit-transform;
+  -webkit-transition-timing-function:ease;
+          transition-timing-function:ease; }
+
+.bp3-panel-stack-pop .bp3-panel-stack-enter, .bp3-panel-stack-pop .bp3-panel-stack-appear{
+  -webkit-transform:translateX(-50%);
+          transform:translateX(-50%);
+  opacity:0; }
+
+.bp3-panel-stack-pop .bp3-panel-stack-enter-active, .bp3-panel-stack-pop .bp3-panel-stack-appear-active{
+  -webkit-transform:translate(0%);
+          transform:translate(0%);
+  opacity:1;
+  -webkit-transition-delay:0;
+          transition-delay:0;
+  -webkit-transition-duration:400ms;
+          transition-duration:400ms;
+  -webkit-transition-property:opacity, -webkit-transform;
+  transition-property:opacity, -webkit-transform;
+  transition-property:transform, opacity;
+  transition-property:transform, opacity, -webkit-transform;
+  -webkit-transition-timing-function:ease;
+          transition-timing-function:ease; }
+
+.bp3-panel-stack-pop .bp3-panel-stack-exit{
+  -webkit-transform:translate(0%);
+          transform:translate(0%);
+  opacity:1; }
+
+.bp3-panel-stack-pop .bp3-panel-stack-exit-active{
+  -webkit-transform:translateX(100%);
+          transform:translateX(100%);
+  opacity:0;
+  -webkit-transition-delay:0;
+          transition-delay:0;
+  -webkit-transition-duration:400ms;
+          transition-duration:400ms;
+  -webkit-transition-property:opacity, -webkit-transform;
+  transition-property:opacity, -webkit-transform;
+  transition-property:transform, opacity;
+  transition-property:transform, opacity, -webkit-transform;
+  -webkit-transition-timing-function:ease;
+          transition-timing-function:ease; }
+.bp3-popover{
+  -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 2px 4px rgba(16, 22, 26, 0.2), 0 8px 24px rgba(16, 22, 26, 0.2);
+          box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 2px 4px rgba(16, 22, 26, 0.2), 0 8px 24px rgba(16, 22, 26, 0.2);
+  -webkit-transform:scale(1);
+          transform:scale(1);
+  border-radius:3px;
+  display:inline-block;
+  z-index:20; }
+  .bp3-popover .bp3-popover-arrow{
+    height:30px;
+    position:absolute;
+    width:30px; }
+    .bp3-popover .bp3-popover-arrow::before{
+      height:20px;
+      margin:5px;
+      width:20px; }
+  .bp3-tether-element-attached-bottom.bp3-tether-target-attached-top > .bp3-popover{
+    margin-bottom:17px;
+    margin-top:-17px; }
+    .bp3-tether-element-attached-bottom.bp3-tether-target-attached-top > .bp3-popover > .bp3-popover-arrow{
+      bottom:-11px; }
+      .bp3-tether-element-attached-bottom.bp3-tether-target-attached-top > .bp3-popover > .bp3-popover-arrow svg{
+        -webkit-transform:rotate(-90deg);
+                transform:rotate(-90deg); }
+  .bp3-tether-element-attached-left.bp3-tether-target-attached-right > .bp3-popover{
+    margin-left:17px; }
+    .bp3-tether-element-attached-left.bp3-tether-target-attached-right > .bp3-popover > .bp3-popover-arrow{
+      left:-11px; }
+      .bp3-tether-element-attached-left.bp3-tether-target-attached-right > .bp3-popover > .bp3-popover-arrow svg{
+        -webkit-transform:rotate(0);
+                transform:rotate(0); }
+  .bp3-tether-element-attached-top.bp3-tether-target-attached-bottom > .bp3-popover{
+    margin-top:17px; }
+    .bp3-tether-element-attached-top.bp3-tether-target-attached-bottom > .bp3-popover > .bp3-popover-arrow{
+      top:-11px; }
+      .bp3-tether-element-attached-top.bp3-tether-target-attached-bottom > .bp3-popover > .bp3-popover-arrow svg{
+        -webkit-transform:rotate(90deg);
+                transform:rotate(90deg); }
+  .bp3-tether-element-attached-right.bp3-tether-target-attached-left > .bp3-popover{
+    margin-left:-17px;
+    margin-right:17px; }
+    .bp3-tether-element-attached-right.bp3-tether-target-attached-left > .bp3-popover > .bp3-popover-arrow{
+      right:-11px; }
+      .bp3-tether-element-attached-right.bp3-tether-target-attached-left > .bp3-popover > .bp3-popover-arrow svg{
+        -webkit-transform:rotate(180deg);
+                transform:rotate(180deg); }
+  .bp3-tether-element-attached-middle > .bp3-popover > .bp3-popover-arrow{
+    top:50%;
+    -webkit-transform:translateY(-50%);
+            transform:translateY(-50%); }
+  .bp3-tether-element-attached-center > .bp3-popover > .bp3-popover-arrow{
+    right:50%;
+    -webkit-transform:translateX(50%);
+            transform:translateX(50%); }
+  .bp3-tether-element-attached-top.bp3-tether-target-attached-top > .bp3-popover > .bp3-popover-arrow{
+    top:-0.3934px; }
+  .bp3-tether-element-attached-right.bp3-tether-target-attached-right > .bp3-popover > .bp3-popover-arrow{
+    right:-0.3934px; }
+  .bp3-tether-element-attached-left.bp3-tether-target-attached-left > .bp3-popover > .bp3-popover-arrow{
+    left:-0.3934px; }
+  .bp3-tether-element-attached-bottom.bp3-tether-target-attached-bottom > .bp3-popover > .bp3-popover-arrow{
+    bottom:-0.3934px; }
+  .bp3-tether-element-attached-top.bp3-tether-element-attached-left > .bp3-popover{
+    -webkit-transform-origin:top left;
+            transform-origin:top left; }
+  .bp3-tether-element-attached-top.bp3-tether-element-attached-center > .bp3-popover{
+    -webkit-transform-origin:top center;
+            transform-origin:top center; }
+  .bp3-tether-element-attached-top.bp3-tether-element-attached-right > .bp3-popover{
+    -webkit-transform-origin:top right;
+            transform-origin:top right; }
+  .bp3-tether-element-attached-middle.bp3-tether-element-attached-left > .bp3-popover{
+    -webkit-transform-origin:center left;
+            transform-origin:center left; }
+  .bp3-tether-element-attached-middle.bp3-tether-element-attached-center > .bp3-popover{
+    -webkit-transform-origin:center center;
+            transform-origin:center center; }
+  .bp3-tether-element-attached-middle.bp3-tether-element-attached-right > .bp3-popover{
+    -webkit-transform-origin:center right;
+            transform-origin:center right; }
+  .bp3-tether-element-attached-bottom.bp3-tether-element-attached-left > .bp3-popover{
+    -webkit-transform-origin:bottom left;
+            transform-origin:bottom left; }
+  .bp3-tether-element-attached-bottom.bp3-tether-element-attached-center > .bp3-popover{
+    -webkit-transform-origin:bottom center;
+            transform-origin:bottom center; }
+  .bp3-tether-element-attached-bottom.bp3-tether-element-attached-right > .bp3-popover{
+    -webkit-transform-origin:bottom right;
+            transform-origin:bottom right; }
+  .bp3-popover .bp3-popover-content{
+    background:#ffffff;
+    color:inherit; }
+  .bp3-popover .bp3-popover-arrow::before{
+    -webkit-box-shadow:1px 1px 6px rgba(16, 22, 26, 0.2);
+            box-shadow:1px 1px 6px rgba(16, 22, 26, 0.2); }
+  .bp3-popover .bp3-popover-arrow-border{
+    fill:#10161a;
+    fill-opacity:0.1; }
+  .bp3-popover .bp3-popover-arrow-fill{
+    fill:#ffffff; }
+  .bp3-popover-enter > .bp3-popover, .bp3-popover-appear > .bp3-popover{
+    -webkit-transform:scale(0.3);
+            transform:scale(0.3); }
+  .bp3-popover-enter-active > .bp3-popover, .bp3-popover-appear-active > .bp3-popover{
+    -webkit-transform:scale(1);
+            transform:scale(1);
+    -webkit-transition-delay:0;
+            transition-delay:0;
+    -webkit-transition-duration:300ms;
+            transition-duration:300ms;
+    -webkit-transition-property:-webkit-transform;
+    transition-property:-webkit-transform;
+    transition-property:transform;
+    transition-property:transform, -webkit-transform;
+    -webkit-transition-timing-function:cubic-bezier(0.54, 1.12, 0.38, 1.11);
+            transition-timing-function:cubic-bezier(0.54, 1.12, 0.38, 1.11); }
+  .bp3-popover-exit > .bp3-popover{
+    -webkit-transform:scale(1);
+            transform:scale(1); }
+  .bp3-popover-exit-active > .bp3-popover{
+    -webkit-transform:scale(0.3);
+            transform:scale(0.3);
+    -webkit-transition-delay:0;
+            transition-delay:0;
+    -webkit-transition-duration:300ms;
+            transition-duration:300ms;
+    -webkit-transition-property:-webkit-transform;
+    transition-property:-webkit-transform;
+    transition-property:transform;
+    transition-property:transform, -webkit-transform;
+    -webkit-transition-timing-function:cubic-bezier(0.54, 1.12, 0.38, 1.11);
+            transition-timing-function:cubic-bezier(0.54, 1.12, 0.38, 1.11); }
+  .bp3-popover .bp3-popover-content{
+    border-radius:3px;
+    position:relative; }
+  .bp3-popover.bp3-popover-content-sizing .bp3-popover-content{
+    max-width:350px;
+    padding:20px; }
+  .bp3-popover-target + .bp3-overlay .bp3-popover.bp3-popover-content-sizing{
+    width:350px; }
+  .bp3-popover.bp3-minimal{
+    margin:0 !important; }
+    .bp3-popover.bp3-minimal .bp3-popover-arrow{
+      display:none; }
+    .bp3-popover.bp3-minimal.bp3-popover{
+      -webkit-transform:scale(1);
+              transform:scale(1); }
+      .bp3-popover-enter > .bp3-popover.bp3-minimal.bp3-popover, .bp3-popover-appear > .bp3-popover.bp3-minimal.bp3-popover{
+        -webkit-transform:scale(1);
+                transform:scale(1); }
+      .bp3-popover-enter-active > .bp3-popover.bp3-minimal.bp3-popover, .bp3-popover-appear-active > .bp3-popover.bp3-minimal.bp3-popover{
+        -webkit-transform:scale(1);
+                transform:scale(1);
+        -webkit-transition-delay:0;
+                transition-delay:0;
+        -webkit-transition-duration:100ms;
+                transition-duration:100ms;
+        -webkit-transition-property:-webkit-transform;
+        transition-property:-webkit-transform;
+        transition-property:transform;
+        transition-property:transform, -webkit-transform;
+        -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9);
+                transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); }
+      .bp3-popover-exit > .bp3-popover.bp3-minimal.bp3-popover{
+        -webkit-transform:scale(1);
+                transform:scale(1); }
+      .bp3-popover-exit-active > .bp3-popover.bp3-minimal.bp3-popover{
+        -webkit-transform:scale(1);
+                transform:scale(1);
+        -webkit-transition-delay:0;
+                transition-delay:0;
+        -webkit-transition-duration:100ms;
+                transition-duration:100ms;
+        -webkit-transition-property:-webkit-transform;
+        transition-property:-webkit-transform;
+        transition-property:transform;
+        transition-property:transform, -webkit-transform;
+        -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9);
+                transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); }
+  .bp3-popover.bp3-dark,
+  .bp3-dark .bp3-popover{
+    -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 2px 4px rgba(16, 22, 26, 0.4), 0 8px 24px rgba(16, 22, 26, 0.4);
+            box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 2px 4px rgba(16, 22, 26, 0.4), 0 8px 24px rgba(16, 22, 26, 0.4); }
+    .bp3-popover.bp3-dark .bp3-popover-content,
+    .bp3-dark .bp3-popover .bp3-popover-content{
+      background:#30404d;
+      color:inherit; }
+    .bp3-popover.bp3-dark .bp3-popover-arrow::before,
+    .bp3-dark .bp3-popover .bp3-popover-arrow::before{
+      -webkit-box-shadow:1px 1px 6px rgba(16, 22, 26, 0.4);
+              box-shadow:1px 1px 6px rgba(16, 22, 26, 0.4); }
+    .bp3-popover.bp3-dark .bp3-popover-arrow-border,
+    .bp3-dark .bp3-popover .bp3-popover-arrow-border{
+      fill:#10161a;
+      fill-opacity:0.2; }
+    .bp3-popover.bp3-dark .bp3-popover-arrow-fill,
+    .bp3-dark .bp3-popover .bp3-popover-arrow-fill{
+      fill:#30404d; }
+
+.bp3-popover-arrow::before{
+  border-radius:2px;
+  content:"";
+  display:block;
+  position:absolute;
+  -webkit-transform:rotate(45deg);
+          transform:rotate(45deg); }
+
+.bp3-tether-pinned .bp3-popover-arrow{
+  display:none; }
+
+.bp3-popover-backdrop{
+  background:rgba(255, 255, 255, 0); }
+
+.bp3-transition-container{
+  opacity:1;
+  display:-webkit-box;
+  display:-ms-flexbox;
+  display:flex;
+  z-index:20; }
+  .bp3-transition-container.bp3-popover-enter, .bp3-transition-container.bp3-popover-appear{
+    opacity:0; }
+  .bp3-transition-container.bp3-popover-enter-active, .bp3-transition-container.bp3-popover-appear-active{
+    opacity:1;
+    -webkit-transition-delay:0;
+            transition-delay:0;
+    -webkit-transition-duration:100ms;
+            transition-duration:100ms;
+    -webkit-transition-property:opacity;
+    transition-property:opacity;
+    -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9);
+            transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); }
+  .bp3-transition-container.bp3-popover-exit{
+    opacity:1; }
+  .bp3-transition-container.bp3-popover-exit-active{
+    opacity:0;
+    -webkit-transition-delay:0;
+            transition-delay:0;
+    -webkit-transition-duration:100ms;
+            transition-duration:100ms;
+    -webkit-transition-property:opacity;
+    transition-property:opacity;
+    -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9);
+            transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); }
+  .bp3-transition-container:focus{
+    outline:none; }
+  .bp3-transition-container.bp3-popover-leave .bp3-popover-content{
+    pointer-events:none; }
+  .bp3-transition-container[data-x-out-of-boundaries]{
+    display:none; }
+
+span.bp3-popover-target{
+  display:inline-block; }
+
+.bp3-popover-wrapper.bp3-fill{
+  width:100%; }
+
+.bp3-portal{
+  left:0;
+  position:absolute;
+  right:0;
+  top:0; }
+@-webkit-keyframes linear-progress-bar-stripes{
+  from{
+    background-position:0 0; }
+  to{
+    background-position:30px 0; } }
+@keyframes linear-progress-bar-stripes{
+  from{
+    background-position:0 0; }
+  to{
+    background-position:30px 0; } }
+
+.bp3-progress-bar{
+  background:rgba(92, 112, 128, 0.2);
+  border-radius:40px;
+  display:block;
+  height:8px;
+  overflow:hidden;
+  position:relative;
+  width:100%; }
+  .bp3-progress-bar .bp3-progress-meter{
+    background:linear-gradient(-45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%);
+    background-color:rgba(92, 112, 128, 0.8);
+    background-size:30px 30px;
+    border-radius:40px;
+    height:100%;
+    position:absolute;
+    -webkit-transition:width 200ms cubic-bezier(0.4, 1, 0.75, 0.9);
+    transition:width 200ms cubic-bezier(0.4, 1, 0.75, 0.9);
+    width:100%; }
+  .bp3-progress-bar:not(.bp3-no-animation):not(.bp3-no-stripes) .bp3-progress-meter{
+    animation:linear-progress-bar-stripes 300ms linear infinite reverse; }
+  .bp3-progress-bar.bp3-no-stripes .bp3-progress-meter{
+    background-image:none; }
+
+.bp3-dark .bp3-progress-bar{
+  background:rgba(16, 22, 26, 0.5); }
+  .bp3-dark .bp3-progress-bar .bp3-progress-meter{
+    background-color:#8a9ba8; }
+
+.bp3-progress-bar.bp3-intent-primary .bp3-progress-meter{
+  background-color:#137cbd; }
+
+.bp3-progress-bar.bp3-intent-success .bp3-progress-meter{
+  background-color:#0f9960; }
+
+.bp3-progress-bar.bp3-intent-warning .bp3-progress-meter{
+  background-color:#d9822b; }
+
+.bp3-progress-bar.bp3-intent-danger .bp3-progress-meter{
+  background-color:#db3737; }
+@-webkit-keyframes skeleton-glow{
+  from{
+    background:rgba(206, 217, 224, 0.2);
+    border-color:rgba(206, 217, 224, 0.2); }
+  to{
+    background:rgba(92, 112, 128, 0.2);
+    border-color:rgba(92, 112, 128, 0.2); } }
+@keyframes skeleton-glow{
+  from{
+    background:rgba(206, 217, 224, 0.2);
+    border-color:rgba(206, 217, 224, 0.2); }
+  to{
+    background:rgba(92, 112, 128, 0.2);
+    border-color:rgba(92, 112, 128, 0.2); } }
+.bp3-skeleton{
+  -webkit-animation:1000ms linear infinite alternate skeleton-glow;
+          animation:1000ms linear infinite alternate skeleton-glow;
+  background:rgba(206, 217, 224, 0.2);
+  background-clip:padding-box !important;
+  border-color:rgba(206, 217, 224, 0.2) !important;
+  border-radius:2px;
+  -webkit-box-shadow:none !important;
+          box-shadow:none !important;
+  color:transparent !important;
+  cursor:default;
+  pointer-events:none;
+  -webkit-user-select:none;
+     -moz-user-select:none;
+      -ms-user-select:none;
+          user-select:none; }
+  .bp3-skeleton::before, .bp3-skeleton::after,
+  .bp3-skeleton *{
+    visibility:hidden !important; }
+.bp3-slider{
+  height:40px;
+  min-width:150px;
+  width:100%;
+  cursor:default;
+  outline:none;
+  position:relative;
+  -webkit-user-select:none;
+     -moz-user-select:none;
+      -ms-user-select:none;
+          user-select:none; }
+  .bp3-slider:hover{
+    cursor:pointer; }
+  .bp3-slider:active{
+    cursor:-webkit-grabbing;
+    cursor:grabbing; }
+  .bp3-slider.bp3-disabled{
+    cursor:not-allowed;
+    opacity:0.5; }
+  .bp3-slider.bp3-slider-unlabeled{
+    height:16px; }
+
+.bp3-slider-track,
+.bp3-slider-progress{
+  height:6px;
+  left:0;
+  right:0;
+  top:5px;
+  position:absolute; }
+
+.bp3-slider-track{
+  border-radius:3px;
+  overflow:hidden; }
+
+.bp3-slider-progress{
+  background:rgba(92, 112, 128, 0.2); }
+  .bp3-dark .bp3-slider-progress{
+    background:rgba(16, 22, 26, 0.5); }
+  .bp3-slider-progress.bp3-intent-primary{
+    background-color:#137cbd; }
+  .bp3-slider-progress.bp3-intent-success{
+    background-color:#0f9960; }
+  .bp3-slider-progress.bp3-intent-warning{
+    background-color:#d9822b; }
+  .bp3-slider-progress.bp3-intent-danger{
+    background-color:#db3737; }
+
+.bp3-slider-handle{
+  background-color:#f5f8fa;
+  background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.8)), to(rgba(255, 255, 255, 0)));
+  background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0));
+  -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1);
+          box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1);
+  color:#182026;
+  border-radius:3px;
+  -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 1px 1px rgba(16, 22, 26, 0.2);
+          box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 1px 1px rgba(16, 22, 26, 0.2);
+  cursor:pointer;
+  height:16px;
+  left:0;
+  position:absolute;
+  top:0;
+  width:16px; }
+  .bp3-slider-handle:hover{
+    background-clip:padding-box;
+    background-color:#ebf1f5;
+    -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1);
+            box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); }
+  .bp3-slider-handle:active, .bp3-slider-handle.bp3-active{
+    background-color:#d8e1e8;
+    background-image:none;
+    -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 1px 2px rgba(16, 22, 26, 0.2);
+            box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 1px 2px rgba(16, 22, 26, 0.2); }
+  .bp3-slider-handle:disabled, .bp3-slider-handle.bp3-disabled{
+    background-color:rgba(206, 217, 224, 0.5);
+    background-image:none;
+    -webkit-box-shadow:none;
+            box-shadow:none;
+    color:rgba(92, 112, 128, 0.6);
+    cursor:not-allowed;
+    outline:none; }
+    .bp3-slider-handle:disabled.bp3-active, .bp3-slider-handle:disabled.bp3-active:hover, .bp3-slider-handle.bp3-disabled.bp3-active, .bp3-slider-handle.bp3-disabled.bp3-active:hover{
+      background:rgba(206, 217, 224, 0.7); }
+  .bp3-slider-handle:focus{
+    z-index:1; }
+  .bp3-slider-handle:hover{
+    background-clip:padding-box;
+    background-color:#ebf1f5;
+    -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1);
+            box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1);
+    -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 1px 1px rgba(16, 22, 26, 0.2);
+            box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 1px 1px rgba(16, 22, 26, 0.2);
+    cursor:-webkit-grab;
+    cursor:grab;
+    z-index:2; }
+  .bp3-slider-handle.bp3-active{
+    background-color:#d8e1e8;
+    background-image:none;
+    -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 1px 2px rgba(16, 22, 26, 0.2);
+            box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 1px 2px rgba(16, 22, 26, 0.2);
+    -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 1px 1px rgba(16, 22, 26, 0.1);
+            box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 1px 1px rgba(16, 22, 26, 0.1);
+    cursor:-webkit-grabbing;
+    cursor:grabbing; }
+  .bp3-disabled .bp3-slider-handle{
+    background:#bfccd6;
+    -webkit-box-shadow:none;
+            box-shadow:none;
+    pointer-events:none; }
+  .bp3-dark .bp3-slider-handle{
+    background-color:#394b59;
+    background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.05)), to(rgba(255, 255, 255, 0)));
+    background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0));
+    -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4);
+            box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4);
+    color:#f5f8fa; }
+    .bp3-dark .bp3-slider-handle:hover, .bp3-dark .bp3-slider-handle:active, .bp3-dark .bp3-slider-handle.bp3-active{
+      color:#f5f8fa; }
+    .bp3-dark .bp3-slider-handle:hover{
+      background-color:#30404d;
+      -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4);
+              box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); }
+    .bp3-dark .bp3-slider-handle:active, .bp3-dark .bp3-slider-handle.bp3-active{
+      background-color:#202b33;
+      background-image:none;
+      -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.6), inset 0 1px 2px rgba(16, 22, 26, 0.2);
+              box-shadow:0 0 0 1px rgba(16, 22, 26, 0.6), inset 0 1px 2px rgba(16, 22, 26, 0.2); }
+    .bp3-dark .bp3-slider-handle:disabled, .bp3-dark .bp3-slider-handle.bp3-disabled{
+      background-color:rgba(57, 75, 89, 0.5);
+      background-image:none;
+      -webkit-box-shadow:none;
+              box-shadow:none;
+      color:rgba(167, 182, 194, 0.6); }
+      .bp3-dark .bp3-slider-handle:disabled.bp3-active, .bp3-dark .bp3-slider-handle.bp3-disabled.bp3-active{
+        background:rgba(57, 75, 89, 0.7); }
+    .bp3-dark .bp3-slider-handle .bp3-button-spinner .bp3-spinner-head{
+      background:rgba(16, 22, 26, 0.5);
+      stroke:#8a9ba8; }
+    .bp3-dark .bp3-slider-handle, .bp3-dark .bp3-slider-handle:hover{
+      background-color:#394b59; }
+    .bp3-dark .bp3-slider-handle.bp3-active{
+      background-color:#293742; }
+  .bp3-dark .bp3-disabled .bp3-slider-handle{
+    background:#5c7080;
+    border-color:#5c7080;
+    -webkit-box-shadow:none;
+            box-shadow:none; }
+  .bp3-slider-handle .bp3-slider-label{
+    background:#394b59;
+    border-radius:3px;
+    -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 2px 4px rgba(16, 22, 26, 0.2), 0 8px 24px rgba(16, 22, 26, 0.2);
+            box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 2px 4px rgba(16, 22, 26, 0.2), 0 8px 24px rgba(16, 22, 26, 0.2);
+    color:#f5f8fa;
+    margin-left:8px; }
+    .bp3-dark .bp3-slider-handle .bp3-slider-label{
+      background:#e1e8ed;
+      -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 2px 4px rgba(16, 22, 26, 0.4), 0 8px 24px rgba(16, 22, 26, 0.4);
+              box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 2px 4px rgba(16, 22, 26, 0.4), 0 8px 24px rgba(16, 22, 26, 0.4);
+      color:#394b59; }
+    .bp3-disabled .bp3-slider-handle .bp3-slider-label{
+      -webkit-box-shadow:none;
+              box-shadow:none; }
+  .bp3-slider-handle.bp3-start, .bp3-slider-handle.bp3-end{
+    width:8px; }
+  .bp3-slider-handle.bp3-start{
+    border-bottom-right-radius:0;
+    border-top-right-radius:0; }
+  .bp3-slider-handle.bp3-end{
+    border-bottom-left-radius:0;
+    border-top-left-radius:0;
+    margin-left:8px; }
+    .bp3-slider-handle.bp3-end .bp3-slider-label{
+      margin-left:0; }
+
+.bp3-slider-label{
+  -webkit-transform:translate(-50%, 20px);
+          transform:translate(-50%, 20px);
+  display:inline-block;
+  font-size:12px;
+  line-height:1;
+  padding:2px 5px;
+  position:absolute;
+  vertical-align:top; }
+
+.bp3-slider.bp3-vertical{
+  height:150px;
+  min-width:40px;
+  width:40px; }
+  .bp3-slider.bp3-vertical .bp3-slider-track,
+  .bp3-slider.bp3-vertical .bp3-slider-progress{
+    bottom:0;
+    height:auto;
+    left:5px;
+    top:0;
+    width:6px; }
+  .bp3-slider.bp3-vertical .bp3-slider-progress{
+    top:auto; }
+  .bp3-slider.bp3-vertical .bp3-slider-label{
+    -webkit-transform:translate(20px, 50%);
+            transform:translate(20px, 50%); }
+  .bp3-slider.bp3-vertical .bp3-slider-handle{
+    top:auto; }
+    .bp3-slider.bp3-vertical .bp3-slider-handle .bp3-slider-label{
+      margin-left:0;
+      margin-top:-8px; }
+    .bp3-slider.bp3-vertical .bp3-slider-handle.bp3-end, .bp3-slider.bp3-vertical .bp3-slider-handle.bp3-start{
+      height:8px;
+      margin-left:0;
+      width:16px; }
+    .bp3-slider.bp3-vertical .bp3-slider-handle.bp3-start{
+      border-bottom-right-radius:3px;
+      border-top-left-radius:0; }
+      .bp3-slider.bp3-vertical .bp3-slider-handle.bp3-start .bp3-slider-label{
+        -webkit-transform:translate(20px);
+                transform:translate(20px); }
+    .bp3-slider.bp3-vertical .bp3-slider-handle.bp3-end{
+      border-bottom-left-radius:0;
+      border-bottom-right-radius:0;
+      border-top-left-radius:3px;
+      margin-bottom:8px; }
+
+@-webkit-keyframes pt-spinner-animation{
+  from{
+    -webkit-transform:rotate(0deg);
+            transform:rotate(0deg); }
+  to{
+    -webkit-transform:rotate(360deg);
+            transform:rotate(360deg); } }
+
+@keyframes pt-spinner-animation{
+  from{
+    -webkit-transform:rotate(0deg);
+            transform:rotate(0deg); }
+  to{
+    -webkit-transform:rotate(360deg);
+            transform:rotate(360deg); } }
+
+.bp3-spinner{
+  -webkit-box-align:center;
+      -ms-flex-align:center;
+          align-items:center;
+  display:-webkit-box;
+  display:-ms-flexbox;
+  display:flex;
+  -webkit-box-pack:center;
+      -ms-flex-pack:center;
+          justify-content:center;
+  overflow:visible;
+  vertical-align:middle; }
+  .bp3-spinner svg{
+    display:block; }
+  .bp3-spinner path{
+    fill-opacity:0; }
+  .bp3-spinner .bp3-spinner-head{
+    stroke:rgba(92, 112, 128, 0.8);
+    stroke-linecap:round;
+    -webkit-transform-origin:center;
+            transform-origin:center;
+    -webkit-transition:stroke-dashoffset 200ms cubic-bezier(0.4, 1, 0.75, 0.9);
+    transition:stroke-dashoffset 200ms cubic-bezier(0.4, 1, 0.75, 0.9); }
+  .bp3-spinner .bp3-spinner-track{
+    stroke:rgba(92, 112, 128, 0.2); }
+
+.bp3-spinner-animation{
+  -webkit-animation:pt-spinner-animation 500ms linear infinite;
+          animation:pt-spinner-animation 500ms linear infinite; }
+  .bp3-no-spin > .bp3-spinner-animation{
+    -webkit-animation:none;
+            animation:none; }
+
+.bp3-dark .bp3-spinner .bp3-spinner-head{
+  stroke:#8a9ba8; }
+
+.bp3-dark .bp3-spinner .bp3-spinner-track{
+  stroke:rgba(16, 22, 26, 0.5); }
+
+.bp3-spinner.bp3-intent-primary .bp3-spinner-head{
+  stroke:#137cbd; }
+
+.bp3-spinner.bp3-intent-success .bp3-spinner-head{
+  stroke:#0f9960; }
+
+.bp3-spinner.bp3-intent-warning .bp3-spinner-head{
+  stroke:#d9822b; }
+
+.bp3-spinner.bp3-intent-danger .bp3-spinner-head{
+  stroke:#db3737; }
+.bp3-tabs.bp3-vertical{
+  display:-webkit-box;
+  display:-ms-flexbox;
+  display:flex; }
+  .bp3-tabs.bp3-vertical > .bp3-tab-list{
+    -webkit-box-align:start;
+        -ms-flex-align:start;
+            align-items:flex-start;
+    -webkit-box-orient:vertical;
+    -webkit-box-direction:normal;
+        -ms-flex-direction:column;
+            flex-direction:column; }
+    .bp3-tabs.bp3-vertical > .bp3-tab-list .bp3-tab{
+      border-radius:3px;
+      padding:0 10px;
+      width:100%; }
+      .bp3-tabs.bp3-vertical > .bp3-tab-list .bp3-tab[aria-selected="true"]{
+        background-color:rgba(19, 124, 189, 0.2);
+        -webkit-box-shadow:none;
+                box-shadow:none; }
+    .bp3-tabs.bp3-vertical > .bp3-tab-list .bp3-tab-indicator-wrapper .bp3-tab-indicator{
+      background-color:rgba(19, 124, 189, 0.2);
+      border-radius:3px;
+      bottom:0;
+      height:auto;
+      left:0;
+      right:0;
+      top:0; }
+  .bp3-tabs.bp3-vertical > .bp3-tab-panel{
+    margin-top:0;
+    padding-left:20px; }
+
+.bp3-tab-list{
+  -webkit-box-align:end;
+      -ms-flex-align:end;
+          align-items:flex-end;
+  border:none;
+  display:-webkit-box;
+  display:-ms-flexbox;
+  display:flex;
+  -webkit-box-flex:0;
+      -ms-flex:0 0 auto;
+          flex:0 0 auto;
+  list-style:none;
+  margin:0;
+  padding:0;
+  position:relative; }
+  .bp3-tab-list > *:not(:last-child){
+    margin-right:20px; }
+
+.bp3-tab{
+  overflow:hidden;
+  text-overflow:ellipsis;
+  white-space:nowrap;
+  word-wrap:normal;
+  color:#182026;
+  cursor:pointer;
+  -webkit-box-flex:0;
+      -ms-flex:0 0 auto;
+          flex:0 0 auto;
+  font-size:14px;
+  line-height:30px;
+  max-width:100%;
+  position:relative;
+  vertical-align:top; }
+  .bp3-tab a{
+    color:inherit;
+    display:block;
+    text-decoration:none; }
+  .bp3-tab-indicator-wrapper ~ .bp3-tab{
+    background-color:transparent !important;
+    -webkit-box-shadow:none !important;
+            box-shadow:none !important; }
+  .bp3-tab[aria-disabled="true"]{
+    color:rgba(92, 112, 128, 0.6);
+    cursor:not-allowed; }
+  .bp3-tab[aria-selected="true"]{
+    border-radius:0;
+    -webkit-box-shadow:inset 0 -3px 0 #106ba3;
+            box-shadow:inset 0 -3px 0 #106ba3; }
+  .bp3-tab[aria-selected="true"], .bp3-tab:not([aria-disabled="true"]):hover{
+    color:#106ba3; }
+  .bp3-tab:focus{
+    -moz-outline-radius:0; }
+  .bp3-large > .bp3-tab{
+    font-size:16px;
+    line-height:40px; }
+
+.bp3-tab-panel{
+  margin-top:20px; }
+  .bp3-tab-panel[aria-hidden="true"]{
+    display:none; }
+
+.bp3-tab-indicator-wrapper{
+  left:0;
+  pointer-events:none;
+  position:absolute;
+  top:0;
+  -webkit-transform:translateX(0), translateY(0);
+          transform:translateX(0), translateY(0);
+  -webkit-transition:height, width, -webkit-transform;
+  transition:height, width, -webkit-transform;
+  transition:height, transform, width;
+  transition:height, transform, width, -webkit-transform;
+  -webkit-transition-duration:200ms;
+          transition-duration:200ms;
+  -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9);
+          transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); }
+  .bp3-tab-indicator-wrapper .bp3-tab-indicator{
+    background-color:#106ba3;
+    bottom:0;
+    height:3px;
+    left:0;
+    position:absolute;
+    right:0; }
+  .bp3-tab-indicator-wrapper.bp3-no-animation{
+    -webkit-transition:none;
+    transition:none; }
+
+.bp3-dark .bp3-tab{
+  color:#f5f8fa; }
+  .bp3-dark .bp3-tab[aria-disabled="true"]{
+    color:rgba(167, 182, 194, 0.6); }
+  .bp3-dark .bp3-tab[aria-selected="true"]{
+    -webkit-box-shadow:inset 0 -3px 0 #48aff0;
+            box-shadow:inset 0 -3px 0 #48aff0; }
+  .bp3-dark .bp3-tab[aria-selected="true"], .bp3-dark .bp3-tab:not([aria-disabled="true"]):hover{
+    color:#48aff0; }
+
+.bp3-dark .bp3-tab-indicator{
+  background-color:#48aff0; }
+
+.bp3-flex-expander{
+  -webkit-box-flex:1;
+      -ms-flex:1 1;
+          flex:1 1; }
+.bp3-tag{
+  display:-webkit-inline-box;
+  display:-ms-inline-flexbox;
+  display:inline-flex;
+  -webkit-box-orient:horizontal;
+  -webkit-box-direction:normal;
+      -ms-flex-direction:row;
+          flex-direction:row;
+  -webkit-box-align:center;
+      -ms-flex-align:center;
+          align-items:center;
+  background-color:#5c7080;
+  border:none;
+  border-radius:3px;
+  -webkit-box-shadow:none;
+          box-shadow:none;
+  color:#f5f8fa;
+  font-size:12px;
+  line-height:16px;
+  max-width:100%;
+  min-height:20px;
+  min-width:20px;
+  padding:2px 6px;
+  position:relative; }
+  .bp3-tag.bp3-interactive{
+    cursor:pointer; }
+    .bp3-tag.bp3-interactive:hover{
+      background-color:rgba(92, 112, 128, 0.85); }
+    .bp3-tag.bp3-interactive.bp3-active, .bp3-tag.bp3-interactive:active{
+      background-color:rgba(92, 112, 128, 0.7); }
+  .bp3-tag > *{
+    -webkit-box-flex:0;
+        -ms-flex-positive:0;
+            flex-grow:0;
+    -ms-flex-negative:0;
+        flex-shrink:0; }
+  .bp3-tag > .bp3-fill{
+    -webkit-box-flex:1;
+        -ms-flex-positive:1;
+            flex-grow:1;
+    -ms-flex-negative:1;
+        flex-shrink:1; }
+  .bp3-tag::before,
+  .bp3-tag > *{
+    margin-right:4px; }
+  .bp3-tag:empty::before,
+  .bp3-tag > :last-child{
+    margin-right:0; }
+  .bp3-tag:focus{
+    outline:rgba(19, 124, 189, 0.6) auto 2px;
+    outline-offset:0;
+    -moz-outline-radius:6px; }
+  .bp3-tag.bp3-round{
+    border-radius:30px;
+    padding-left:8px;
+    padding-right:8px; }
+  .bp3-dark .bp3-tag{
+    background-color:#bfccd6;
+    color:#182026; }
+    .bp3-dark .bp3-tag.bp3-interactive{
+      cursor:pointer; }
+      .bp3-dark .bp3-tag.bp3-interactive:hover{
+        background-color:rgba(191, 204, 214, 0.85); }
+      .bp3-dark .bp3-tag.bp3-interactive.bp3-active, .bp3-dark .bp3-tag.bp3-interactive:active{
+        background-color:rgba(191, 204, 214, 0.7); }
+    .bp3-dark .bp3-tag > .bp3-icon, .bp3-dark .bp3-tag .bp3-icon-standard, .bp3-dark .bp3-tag .bp3-icon-large{
+      fill:currentColor; }
+  .bp3-tag > .bp3-icon, .bp3-tag .bp3-icon-standard, .bp3-tag .bp3-icon-large{
+    fill:#ffffff; }
+  .bp3-tag.bp3-large,
+  .bp3-large .bp3-tag{
+    font-size:14px;
+    line-height:20px;
+    min-height:30px;
+    min-width:30px;
+    padding:5px 10px; }
+    .bp3-tag.bp3-large::before,
+    .bp3-tag.bp3-large > *,
+    .bp3-large .bp3-tag::before,
+    .bp3-large .bp3-tag > *{
+      margin-right:7px; }
+    .bp3-tag.bp3-large:empty::before,
+    .bp3-tag.bp3-large > :last-child,
+    .bp3-large .bp3-tag:empty::before,
+    .bp3-large .bp3-tag > :last-child{
+      margin-right:0; }
+    .bp3-tag.bp3-large.bp3-round,
+    .bp3-large .bp3-tag.bp3-round{
+      padding-left:12px;
+      padding-right:12px; }
+  .bp3-tag.bp3-intent-primary{
+    background:#137cbd;
+    color:#ffffff; }
+    .bp3-tag.bp3-intent-primary.bp3-interactive{
+      cursor:pointer; }
+      .bp3-tag.bp3-intent-primary.bp3-interactive:hover{
+        background-color:rgba(19, 124, 189, 0.85); }
+      .bp3-tag.bp3-intent-primary.bp3-interactive.bp3-active, .bp3-tag.bp3-intent-primary.bp3-interactive:active{
+        background-color:rgba(19, 124, 189, 0.7); }
+  .bp3-tag.bp3-intent-success{
+    background:#0f9960;
+    color:#ffffff; }
+    .bp3-tag.bp3-intent-success.bp3-interactive{
+      cursor:pointer; }
+      .bp3-tag.bp3-intent-success.bp3-interactive:hover{
+        background-color:rgba(15, 153, 96, 0.85); }
+      .bp3-tag.bp3-intent-success.bp3-interactive.bp3-active, .bp3-tag.bp3-intent-success.bp3-interactive:active{
+        background-color:rgba(15, 153, 96, 0.7); }
+  .bp3-tag.bp3-intent-warning{
+    background:#d9822b;
+    color:#ffffff; }
+    .bp3-tag.bp3-intent-warning.bp3-interactive{
+      cursor:pointer; }
+      .bp3-tag.bp3-intent-warning.bp3-interactive:hover{
+        background-color:rgba(217, 130, 43, 0.85); }
+      .bp3-tag.bp3-intent-warning.bp3-interactive.bp3-active, .bp3-tag.bp3-intent-warning.bp3-interactive:active{
+        background-color:rgba(217, 130, 43, 0.7); }
+  .bp3-tag.bp3-intent-danger{
+    background:#db3737;
+    color:#ffffff; }
+    .bp3-tag.bp3-intent-danger.bp3-interactive{
+      cursor:pointer; }
+      .bp3-tag.bp3-intent-danger.bp3-interactive:hover{
+        background-color:rgba(219, 55, 55, 0.85); }
+      .bp3-tag.bp3-intent-danger.bp3-interactive.bp3-active, .bp3-tag.bp3-intent-danger.bp3-interactive:active{
+        background-color:rgba(219, 55, 55, 0.7); }
+  .bp3-tag.bp3-fill{
+    display:-webkit-box;
+    display:-ms-flexbox;
+    display:flex;
+    width:100%; }
+  .bp3-tag.bp3-minimal > .bp3-icon, .bp3-tag.bp3-minimal .bp3-icon-standard, .bp3-tag.bp3-minimal .bp3-icon-large{
+    fill:#5c7080; }
+  .bp3-tag.bp3-minimal:not([class*="bp3-intent-"]){
+    background-color:rgba(138, 155, 168, 0.2);
+    color:#182026; }
+    .bp3-tag.bp3-minimal:not([class*="bp3-intent-"]).bp3-interactive{
+      cursor:pointer; }
+      .bp3-tag.bp3-minimal:not([class*="bp3-intent-"]).bp3-interactive:hover{
+        background-color:rgba(92, 112, 128, 0.3); }
+      .bp3-tag.bp3-minimal:not([class*="bp3-intent-"]).bp3-interactive.bp3-active, .bp3-tag.bp3-minimal:not([class*="bp3-intent-"]).bp3-interactive:active{
+        background-color:rgba(92, 112, 128, 0.4); }
+    .bp3-dark .bp3-tag.bp3-minimal:not([class*="bp3-intent-"]){
+      color:#f5f8fa; }
+      .bp3-dark .bp3-tag.bp3-minimal:not([class*="bp3-intent-"]).bp3-interactive{
+        cursor:pointer; }
+        .bp3-dark .bp3-tag.bp3-minimal:not([class*="bp3-intent-"]).bp3-interactive:hover{
+          background-color:rgba(191, 204, 214, 0.3); }
+        .bp3-dark .bp3-tag.bp3-minimal:not([class*="bp3-intent-"]).bp3-interactive.bp3-active, .bp3-dark .bp3-tag.bp3-minimal:not([class*="bp3-intent-"]).bp3-interactive:active{
+          background-color:rgba(191, 204, 214, 0.4); }
+      .bp3-dark .bp3-tag.bp3-minimal:not([class*="bp3-intent-"]) > .bp3-icon, .bp3-dark .bp3-tag.bp3-minimal:not([class*="bp3-intent-"]) .bp3-icon-standard, .bp3-dark .bp3-tag.bp3-minimal:not([class*="bp3-intent-"]) .bp3-icon-large{
+        fill:#a7b6c2; }
+  .bp3-tag.bp3-minimal.bp3-intent-primary{
+    background-color:rgba(19, 124, 189, 0.15);
+    color:#106ba3; }
+    .bp3-tag.bp3-minimal.bp3-intent-primary.bp3-interactive{
+      cursor:pointer; }
+      .bp3-tag.bp3-minimal.bp3-intent-primary.bp3-interactive:hover{
+        background-color:rgba(19, 124, 189, 0.25); }
+      .bp3-tag.bp3-minimal.bp3-intent-primary.bp3-interactive.bp3-active, .bp3-tag.bp3-minimal.bp3-intent-primary.bp3-interactive:active{
+        background-color:rgba(19, 124, 189, 0.35); }
+    .bp3-tag.bp3-minimal.bp3-intent-primary > .bp3-icon, .bp3-tag.bp3-minimal.bp3-intent-primary .bp3-icon-standard, .bp3-tag.bp3-minimal.bp3-intent-primary .bp3-icon-large{
+      fill:#137cbd; }
+    .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-primary{
+      background-color:rgba(19, 124, 189, 0.25);
+      color:#48aff0; }
+      .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-primary.bp3-interactive{
+        cursor:pointer; }
+        .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-primary.bp3-interactive:hover{
+          background-color:rgba(19, 124, 189, 0.35); }
+        .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-primary.bp3-interactive.bp3-active, .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-primary.bp3-interactive:active{
+          background-color:rgba(19, 124, 189, 0.45); }
+  .bp3-tag.bp3-minimal.bp3-intent-success{
+    background-color:rgba(15, 153, 96, 0.15);
+    color:#0d8050; }
+    .bp3-tag.bp3-minimal.bp3-intent-success.bp3-interactive{
+      cursor:pointer; }
+      .bp3-tag.bp3-minimal.bp3-intent-success.bp3-interactive:hover{
+        background-color:rgba(15, 153, 96, 0.25); }
+      .bp3-tag.bp3-minimal.bp3-intent-success.bp3-interactive.bp3-active, .bp3-tag.bp3-minimal.bp3-intent-success.bp3-interactive:active{
+        background-color:rgba(15, 153, 96, 0.35); }
+    .bp3-tag.bp3-minimal.bp3-intent-success > .bp3-icon, .bp3-tag.bp3-minimal.bp3-intent-success .bp3-icon-standard, .bp3-tag.bp3-minimal.bp3-intent-success .bp3-icon-large{
+      fill:#0f9960; }
+    .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-success{
+      background-color:rgba(15, 153, 96, 0.25);
+      color:#3dcc91; }
+      .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-success.bp3-interactive{
+        cursor:pointer; }
+        .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-success.bp3-interactive:hover{
+          background-color:rgba(15, 153, 96, 0.35); }
+        .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-success.bp3-interactive.bp3-active, .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-success.bp3-interactive:active{
+          background-color:rgba(15, 153, 96, 0.45); }
+  .bp3-tag.bp3-minimal.bp3-intent-warning{
+    background-color:rgba(217, 130, 43, 0.15);
+    color:#bf7326; }
+    .bp3-tag.bp3-minimal.bp3-intent-warning.bp3-interactive{
+      cursor:pointer; }
+      .bp3-tag.bp3-minimal.bp3-intent-warning.bp3-interactive:hover{
+        background-color:rgba(217, 130, 43, 0.25); }
+      .bp3-tag.bp3-minimal.bp3-intent-warning.bp3-interactive.bp3-active, .bp3-tag.bp3-minimal.bp3-intent-warning.bp3-interactive:active{
+        background-color:rgba(217, 130, 43, 0.35); }
+    .bp3-tag.bp3-minimal.bp3-intent-warning > .bp3-icon, .bp3-tag.bp3-minimal.bp3-intent-warning .bp3-icon-standard, .bp3-tag.bp3-minimal.bp3-intent-warning .bp3-icon-large{
+      fill:#d9822b; }
+    .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-warning{
+      background-color:rgba(217, 130, 43, 0.25);
+      color:#ffb366; }
+      .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-warning.bp3-interactive{
+        cursor:pointer; }
+        .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-warning.bp3-interactive:hover{
+          background-color:rgba(217, 130, 43, 0.35); }
+        .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-warning.bp3-interactive.bp3-active, .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-warning.bp3-interactive:active{
+          background-color:rgba(217, 130, 43, 0.45); }
+  .bp3-tag.bp3-minimal.bp3-intent-danger{
+    background-color:rgba(219, 55, 55, 0.15);
+    color:#c23030; }
+    .bp3-tag.bp3-minimal.bp3-intent-danger.bp3-interactive{
+      cursor:pointer; }
+      .bp3-tag.bp3-minimal.bp3-intent-danger.bp3-interactive:hover{
+        background-color:rgba(219, 55, 55, 0.25); }
+      .bp3-tag.bp3-minimal.bp3-intent-danger.bp3-interactive.bp3-active, .bp3-tag.bp3-minimal.bp3-intent-danger.bp3-interactive:active{
+        background-color:rgba(219, 55, 55, 0.35); }
+    .bp3-tag.bp3-minimal.bp3-intent-danger > .bp3-icon, .bp3-tag.bp3-minimal.bp3-intent-danger .bp3-icon-standard, .bp3-tag.bp3-minimal.bp3-intent-danger .bp3-icon-large{
+      fill:#db3737; }
+    .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-danger{
+      background-color:rgba(219, 55, 55, 0.25);
+      color:#ff7373; }
+      .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-danger.bp3-interactive{
+        cursor:pointer; }
+        .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-danger.bp3-interactive:hover{
+          background-color:rgba(219, 55, 55, 0.35); }
+        .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-danger.bp3-interactive.bp3-active, .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-danger.bp3-interactive:active{
+          background-color:rgba(219, 55, 55, 0.45); }
+
+.bp3-tag-remove{
+  background:none;
+  border:none;
+  color:inherit;
+  cursor:pointer;
+  display:-webkit-box;
+  display:-ms-flexbox;
+  display:flex;
+  margin-bottom:-2px;
+  margin-right:-6px !important;
+  margin-top:-2px;
+  opacity:0.5;
+  padding:2px;
+  padding-left:0; }
+  .bp3-tag-remove:hover{
+    background:none;
+    opacity:0.8;
+    text-decoration:none; }
+  .bp3-tag-remove:active{
+    opacity:1; }
+  .bp3-tag-remove:empty::before{
+    font-family:"Icons16", sans-serif;
+    font-size:16px;
+    font-style:normal;
+    font-weight:400;
+    line-height:1;
+    -moz-osx-font-smoothing:grayscale;
+    -webkit-font-smoothing:antialiased;
+    content:""; }
+  .bp3-large .bp3-tag-remove{
+    margin-right:-10px !important;
+    padding:0 5px 0 0; }
+    .bp3-large .bp3-tag-remove:empty::before{
+      font-family:"Icons20", sans-serif;
+      font-size:20px;
+      font-style:normal;
+      font-weight:400;
+      line-height:1; }
+.bp3-tag-input{
+  display:-webkit-box;
+  display:-ms-flexbox;
+  display:flex;
+  -webkit-box-orient:horizontal;
+  -webkit-box-direction:normal;
+      -ms-flex-direction:row;
+          flex-direction:row;
+  -webkit-box-align:start;
+      -ms-flex-align:start;
+          align-items:flex-start;
+  cursor:text;
+  height:auto;
+  line-height:inherit;
+  min-height:30px;
+  padding-left:5px;
+  padding-right:0; }
+  .bp3-tag-input > *{
+    -webkit-box-flex:0;
+        -ms-flex-positive:0;
+            flex-grow:0;
+    -ms-flex-negative:0;
+        flex-shrink:0; }
+  .bp3-tag-input > .bp3-tag-input-values{
+    -webkit-box-flex:1;
+        -ms-flex-positive:1;
+            flex-grow:1;
+    -ms-flex-negative:1;
+        flex-shrink:1; }
+  .bp3-tag-input .bp3-tag-input-icon{
+    color:#5c7080;
+    margin-left:2px;
+    margin-right:7px;
+    margin-top:7px; }
+  .bp3-tag-input .bp3-tag-input-values{
+    display:-webkit-box;
+    display:-ms-flexbox;
+    display:flex;
+    -webkit-box-orient:horizontal;
+    -webkit-box-direction:normal;
+        -ms-flex-direction:row;
+            flex-direction:row;
+    -webkit-box-align:center;
+        -ms-flex-align:center;
+            align-items:center;
+    -ms-flex-item-align:stretch;
+        align-self:stretch;
+    -ms-flex-wrap:wrap;
+        flex-wrap:wrap;
+    margin-right:7px;
+    margin-top:5px;
+    min-width:0; }
+    .bp3-tag-input .bp3-tag-input-values > *{
+      -webkit-box-flex:0;
+          -ms-flex-positive:0;
+              flex-grow:0;
+      -ms-flex-negative:0;
+          flex-shrink:0; }
+    .bp3-tag-input .bp3-tag-input-values > .bp3-fill{
+      -webkit-box-flex:1;
+          -ms-flex-positive:1;
+              flex-grow:1;
+      -ms-flex-negative:1;
+          flex-shrink:1; }
+    .bp3-tag-input .bp3-tag-input-values::before,
+    .bp3-tag-input .bp3-tag-input-values > *{
+      margin-right:5px; }
+    .bp3-tag-input .bp3-tag-input-values:empty::before,
+    .bp3-tag-input .bp3-tag-input-values > :last-child{
+      margin-right:0; }
+    .bp3-tag-input .bp3-tag-input-values:first-child .bp3-input-ghost:first-child{
+      padding-left:5px; }
+    .bp3-tag-input .bp3-tag-input-values > *{
+      margin-bottom:5px; }
+  .bp3-tag-input .bp3-tag{
+    overflow-wrap:break-word; }
+    .bp3-tag-input .bp3-tag.bp3-active{
+      outline:rgba(19, 124, 189, 0.6) auto 2px;
+      outline-offset:0;
+      -moz-outline-radius:6px; }
+  .bp3-tag-input .bp3-input-ghost{
+    -webkit-box-flex:1;
+        -ms-flex:1 1 auto;
+            flex:1 1 auto;
+    line-height:20px;
+    width:80px; }
+    .bp3-tag-input .bp3-input-ghost:disabled, .bp3-tag-input .bp3-input-ghost.bp3-disabled{
+      cursor:not-allowed; }
+  .bp3-tag-input .bp3-button,
+  .bp3-tag-input .bp3-spinner{
+    margin:3px;
+    margin-left:0; }
+  .bp3-tag-input .bp3-button{
+    min-height:24px;
+    min-width:24px;
+    padding:0 7px; }
+  .bp3-tag-input.bp3-large{
+    height:auto;
+    min-height:40px; }
+    .bp3-tag-input.bp3-large::before,
+    .bp3-tag-input.bp3-large > *{
+      margin-right:10px; }
+    .bp3-tag-input.bp3-large:empty::before,
+    .bp3-tag-input.bp3-large > :last-child{
+      margin-right:0; }
+    .bp3-tag-input.bp3-large .bp3-tag-input-icon{
+      margin-left:5px;
+      margin-top:10px; }
+    .bp3-tag-input.bp3-large .bp3-input-ghost{
+      line-height:30px; }
+    .bp3-tag-input.bp3-large .bp3-button{
+      min-height:30px;
+      min-width:30px;
+      padding:5px 10px;
+      margin:5px;
+      margin-left:0; }
+    .bp3-tag-input.bp3-large .bp3-spinner{
+      margin:8px;
+      margin-left:0; }
+  .bp3-tag-input.bp3-active{
+    background-color:#ffffff;
+    -webkit-box-shadow:0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2);
+            box-shadow:0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); }
+    .bp3-tag-input.bp3-active.bp3-intent-primary{
+      -webkit-box-shadow:0 0 0 1px #106ba3, 0 0 0 3px rgba(16, 107, 163, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2);
+              box-shadow:0 0 0 1px #106ba3, 0 0 0 3px rgba(16, 107, 163, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); }
+    .bp3-tag-input.bp3-active.bp3-intent-success{
+      -webkit-box-shadow:0 0 0 1px #0d8050, 0 0 0 3px rgba(13, 128, 80, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2);
+              box-shadow:0 0 0 1px #0d8050, 0 0 0 3px rgba(13, 128, 80, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); }
+    .bp3-tag-input.bp3-active.bp3-intent-warning{
+      -webkit-box-shadow:0 0 0 1px #bf7326, 0 0 0 3px rgba(191, 115, 38, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2);
+              box-shadow:0 0 0 1px #bf7326, 0 0 0 3px rgba(191, 115, 38, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); }
+    .bp3-tag-input.bp3-active.bp3-intent-danger{
+      -webkit-box-shadow:0 0 0 1px #c23030, 0 0 0 3px rgba(194, 48, 48, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2);
+              box-shadow:0 0 0 1px #c23030, 0 0 0 3px rgba(194, 48, 48, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); }
+  .bp3-dark .bp3-tag-input .bp3-tag-input-icon, .bp3-tag-input.bp3-dark .bp3-tag-input-icon{
+    color:#a7b6c2; }
+  .bp3-dark .bp3-tag-input .bp3-input-ghost, .bp3-tag-input.bp3-dark .bp3-input-ghost{
+    color:#f5f8fa; }
+    .bp3-dark .bp3-tag-input .bp3-input-ghost::-webkit-input-placeholder, .bp3-tag-input.bp3-dark .bp3-input-ghost::-webkit-input-placeholder{
+      color:rgba(167, 182, 194, 0.6); }
+    .bp3-dark .bp3-tag-input .bp3-input-ghost::-moz-placeholder, .bp3-tag-input.bp3-dark .bp3-input-ghost::-moz-placeholder{
+      color:rgba(167, 182, 194, 0.6); }
+    .bp3-dark .bp3-tag-input .bp3-input-ghost:-ms-input-placeholder, .bp3-tag-input.bp3-dark .bp3-input-ghost:-ms-input-placeholder{
+      color:rgba(167, 182, 194, 0.6); }
+    .bp3-dark .bp3-tag-input .bp3-input-ghost::-ms-input-placeholder, .bp3-tag-input.bp3-dark .bp3-input-ghost::-ms-input-placeholder{
+      color:rgba(167, 182, 194, 0.6); }
+    .bp3-dark .bp3-tag-input .bp3-input-ghost::placeholder, .bp3-tag-input.bp3-dark .bp3-input-ghost::placeholder{
+      color:rgba(167, 182, 194, 0.6); }
+  .bp3-dark .bp3-tag-input.bp3-active, .bp3-tag-input.bp3-dark.bp3-active{
+    background-color:rgba(16, 22, 26, 0.3);
+    -webkit-box-shadow:0 0 0 1px #137cbd, 0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4);
+            box-shadow:0 0 0 1px #137cbd, 0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); }
+    .bp3-dark .bp3-tag-input.bp3-active.bp3-intent-primary, .bp3-tag-input.bp3-dark.bp3-active.bp3-intent-primary{
+      -webkit-box-shadow:0 0 0 1px #106ba3, 0 0 0 3px rgba(16, 107, 163, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4);
+              box-shadow:0 0 0 1px #106ba3, 0 0 0 3px rgba(16, 107, 163, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); }
+    .bp3-dark .bp3-tag-input.bp3-active.bp3-intent-success, .bp3-tag-input.bp3-dark.bp3-active.bp3-intent-success{
+      -webkit-box-shadow:0 0 0 1px #0d8050, 0 0 0 3px rgba(13, 128, 80, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4);
+              box-shadow:0 0 0 1px #0d8050, 0 0 0 3px rgba(13, 128, 80, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); }
+    .bp3-dark .bp3-tag-input.bp3-active.bp3-intent-warning, .bp3-tag-input.bp3-dark.bp3-active.bp3-intent-warning{
+      -webkit-box-shadow:0 0 0 1px #bf7326, 0 0 0 3px rgba(191, 115, 38, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4);
+              box-shadow:0 0 0 1px #bf7326, 0 0 0 3px rgba(191, 115, 38, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); }
+    .bp3-dark .bp3-tag-input.bp3-active.bp3-intent-danger, .bp3-tag-input.bp3-dark.bp3-active.bp3-intent-danger{
+      -webkit-box-shadow:0 0 0 1px #c23030, 0 0 0 3px rgba(194, 48, 48, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4);
+              box-shadow:0 0 0 1px #c23030, 0 0 0 3px rgba(194, 48, 48, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); }
+
+.bp3-input-ghost{
+  background:none;
+  border:none;
+  -webkit-box-shadow:none;
+          box-shadow:none;
+  padding:0; }
+  .bp3-input-ghost::-webkit-input-placeholder{
+    color:rgba(92, 112, 128, 0.6);
+    opacity:1; }
+  .bp3-input-ghost::-moz-placeholder{
+    color:rgba(92, 112, 128, 0.6);
+    opacity:1; }
+  .bp3-input-ghost:-ms-input-placeholder{
+    color:rgba(92, 112, 128, 0.6);
+    opacity:1; }
+  .bp3-input-ghost::-ms-input-placeholder{
+    color:rgba(92, 112, 128, 0.6);
+    opacity:1; }
+  .bp3-input-ghost::placeholder{
+    color:rgba(92, 112, 128, 0.6);
+    opacity:1; }
+  .bp3-input-ghost:focus{
+    outline:none !important; }
+.bp3-toast{
+  -webkit-box-align:start;
+      -ms-flex-align:start;
+          align-items:flex-start;
+  background-color:#ffffff;
+  border-radius:3px;
+  -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 2px 4px rgba(16, 22, 26, 0.2), 0 8px 24px rgba(16, 22, 26, 0.2);
+          box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 2px 4px rgba(16, 22, 26, 0.2), 0 8px 24px rgba(16, 22, 26, 0.2);
+  display:-webkit-box;
+  display:-ms-flexbox;
+  display:flex;
+  margin:20px 0 0;
+  max-width:500px;
+  min-width:300px;
+  pointer-events:all;
+  position:relative !important; }
+  .bp3-toast.bp3-toast-enter, .bp3-toast.bp3-toast-appear{
+    -webkit-transform:translateY(-40px);
+            transform:translateY(-40px); }
+  .bp3-toast.bp3-toast-enter-active, .bp3-toast.bp3-toast-appear-active{
+    -webkit-transform:translateY(0);
+            transform:translateY(0);
+    -webkit-transition-delay:0;
+            transition-delay:0;
+    -webkit-transition-duration:300ms;
+            transition-duration:300ms;
+    -webkit-transition-property:-webkit-transform;
+    transition-property:-webkit-transform;
+    transition-property:transform;
+    transition-property:transform, -webkit-transform;
+    -webkit-transition-timing-function:cubic-bezier(0.54, 1.12, 0.38, 1.11);
+            transition-timing-function:cubic-bezier(0.54, 1.12, 0.38, 1.11); }
+  .bp3-toast.bp3-toast-enter ~ .bp3-toast, .bp3-toast.bp3-toast-appear ~ .bp3-toast{
+    -webkit-transform:translateY(-40px);
+            transform:translateY(-40px); }
+  .bp3-toast.bp3-toast-enter-active ~ .bp3-toast, .bp3-toast.bp3-toast-appear-active ~ .bp3-toast{
+    -webkit-transform:translateY(0);
+            transform:translateY(0);
+    -webkit-transition-delay:0;
+            transition-delay:0;
+    -webkit-transition-duration:300ms;
+            transition-duration:300ms;
+    -webkit-transition-property:-webkit-transform;
+    transition-property:-webkit-transform;
+    transition-property:transform;
+    transition-property:transform, -webkit-transform;
+    -webkit-transition-timing-function:cubic-bezier(0.54, 1.12, 0.38, 1.11);
+            transition-timing-function:cubic-bezier(0.54, 1.12, 0.38, 1.11); }
+  .bp3-toast.bp3-toast-exit{
+    opacity:1;
+    -webkit-filter:blur(0);
+            filter:blur(0); }
+  .bp3-toast.bp3-toast-exit-active{
+    opacity:0;
+    -webkit-filter:blur(10px);
+            filter:blur(10px);
+    -webkit-transition-delay:0;
+            transition-delay:0;
+    -webkit-transition-duration:300ms;
+            transition-duration:300ms;
+    -webkit-transition-property:opacity, -webkit-filter;
+    transition-property:opacity, -webkit-filter;
+    transition-property:opacity, filter;
+    transition-property:opacity, filter, -webkit-filter;
+    -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9);
+            transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); }
+  .bp3-toast.bp3-toast-exit ~ .bp3-toast{
+    -webkit-transform:translateY(0);
+            transform:translateY(0); }
+  .bp3-toast.bp3-toast-exit-active ~ .bp3-toast{
+    -webkit-transform:translateY(-40px);
+            transform:translateY(-40px);
+    -webkit-transition-delay:50ms;
+            transition-delay:50ms;
+    -webkit-transition-duration:100ms;
+            transition-duration:100ms;
+    -webkit-transition-property:-webkit-transform;
+    transition-property:-webkit-transform;
+    transition-property:transform;
+    transition-property:transform, -webkit-transform;
+    -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9);
+            transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); }
+  .bp3-toast .bp3-button-group{
+    -webkit-box-flex:0;
+        -ms-flex:0 0 auto;
+            flex:0 0 auto;
+    padding:5px;
+    padding-left:0; }
+  .bp3-toast > .bp3-icon{
+    color:#5c7080;
+    margin:12px;
+    margin-right:0; }
+  .bp3-toast.bp3-dark,
+  .bp3-dark .bp3-toast{
+    background-color:#394b59;
+    -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 2px 4px rgba(16, 22, 26, 0.4), 0 8px 24px rgba(16, 22, 26, 0.4);
+            box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 2px 4px rgba(16, 22, 26, 0.4), 0 8px 24px rgba(16, 22, 26, 0.4); }
+    .bp3-toast.bp3-dark > .bp3-icon,
+    .bp3-dark .bp3-toast > .bp3-icon{
+      color:#a7b6c2; }
+  .bp3-toast[class*="bp3-intent-"] a{
+    color:rgba(255, 255, 255, 0.7); }
+    .bp3-toast[class*="bp3-intent-"] a:hover{
+      color:#ffffff; }
+  .bp3-toast[class*="bp3-intent-"] > .bp3-icon{
+    color:#ffffff; }
+  .bp3-toast[class*="bp3-intent-"] .bp3-button, .bp3-toast[class*="bp3-intent-"] .bp3-button::before,
+  .bp3-toast[class*="bp3-intent-"] .bp3-button .bp3-icon, .bp3-toast[class*="bp3-intent-"] .bp3-button:active{
+    color:rgba(255, 255, 255, 0.7) !important; }
+  .bp3-toast[class*="bp3-intent-"] .bp3-button:focus{
+    outline-color:rgba(255, 255, 255, 0.5); }
+  .bp3-toast[class*="bp3-intent-"] .bp3-button:hover{
+    background-color:rgba(255, 255, 255, 0.15) !important;
+    color:#ffffff !important; }
+  .bp3-toast[class*="bp3-intent-"] .bp3-button:active{
+    background-color:rgba(255, 255, 255, 0.3) !important;
+    color:#ffffff !important; }
+  .bp3-toast[class*="bp3-intent-"] .bp3-button::after{
+    background:rgba(255, 255, 255, 0.3) !important; }
+  .bp3-toast.bp3-intent-primary{
+    background-color:#137cbd;
+    color:#ffffff; }
+  .bp3-toast.bp3-intent-success{
+    background-color:#0f9960;
+    color:#ffffff; }
+  .bp3-toast.bp3-intent-warning{
+    background-color:#d9822b;
+    color:#ffffff; }
+  .bp3-toast.bp3-intent-danger{
+    background-color:#db3737;
+    color:#ffffff; }
+
+.bp3-toast-message{
+  -webkit-box-flex:1;
+      -ms-flex:1 1 auto;
+          flex:1 1 auto;
+  padding:11px;
+  word-break:break-word; }
+
+.bp3-toast-container{
+  -webkit-box-align:center;
+      -ms-flex-align:center;
+          align-items:center;
+  display:-webkit-box !important;
+  display:-ms-flexbox !important;
+  display:flex !important;
+  -webkit-box-orient:vertical;
+  -webkit-box-direction:normal;
+      -ms-flex-direction:column;
+          flex-direction:column;
+  left:0;
+  overflow:hidden;
+  padding:0 20px 20px;
+  pointer-events:none;
+  position:fixed;
+  right:0;
+  z-index:40; }
+  .bp3-toast-container.bp3-toast-container-top{
+    top:0; }
+  .bp3-toast-container.bp3-toast-container-bottom{
+    bottom:0;
+    -webkit-box-orient:vertical;
+    -webkit-box-direction:reverse;
+        -ms-flex-direction:column-reverse;
+            flex-direction:column-reverse;
+    top:auto; }
+  .bp3-toast-container.bp3-toast-container-left{
+    -webkit-box-align:start;
+        -ms-flex-align:start;
+            align-items:flex-start; }
+  .bp3-toast-container.bp3-toast-container-right{
+    -webkit-box-align:end;
+        -ms-flex-align:end;
+            align-items:flex-end; }
+
+.bp3-toast-container-bottom .bp3-toast.bp3-toast-enter:not(.bp3-toast-enter-active),
+.bp3-toast-container-bottom .bp3-toast.bp3-toast-enter:not(.bp3-toast-enter-active) ~ .bp3-toast, .bp3-toast-container-bottom .bp3-toast.bp3-toast-appear:not(.bp3-toast-appear-active),
+.bp3-toast-container-bottom .bp3-toast.bp3-toast-appear:not(.bp3-toast-appear-active) ~ .bp3-toast,
+.bp3-toast-container-bottom .bp3-toast.bp3-toast-exit-active ~ .bp3-toast,
+.bp3-toast-container-bottom .bp3-toast.bp3-toast-leave-active ~ .bp3-toast{
+  -webkit-transform:translateY(60px);
+          transform:translateY(60px); }
+.bp3-tooltip{
+  -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 2px 4px rgba(16, 22, 26, 0.2), 0 8px 24px rgba(16, 22, 26, 0.2);
+          box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 2px 4px rgba(16, 22, 26, 0.2), 0 8px 24px rgba(16, 22, 26, 0.2);
+  -webkit-transform:scale(1);
+          transform:scale(1); }
+  .bp3-tooltip .bp3-popover-arrow{
+    height:22px;
+    position:absolute;
+    width:22px; }
+    .bp3-tooltip .bp3-popover-arrow::before{
+      height:14px;
+      margin:4px;
+      width:14px; }
+  .bp3-tether-element-attached-bottom.bp3-tether-target-attached-top > .bp3-tooltip{
+    margin-bottom:11px;
+    margin-top:-11px; }
+    .bp3-tether-element-attached-bottom.bp3-tether-target-attached-top > .bp3-tooltip > .bp3-popover-arrow{
+      bottom:-8px; }
+      .bp3-tether-element-attached-bottom.bp3-tether-target-attached-top > .bp3-tooltip > .bp3-popover-arrow svg{
+        -webkit-transform:rotate(-90deg);
+                transform:rotate(-90deg); }
+  .bp3-tether-element-attached-left.bp3-tether-target-attached-right > .bp3-tooltip{
+    margin-left:11px; }
+    .bp3-tether-element-attached-left.bp3-tether-target-attached-right > .bp3-tooltip > .bp3-popover-arrow{
+      left:-8px; }
+      .bp3-tether-element-attached-left.bp3-tether-target-attached-right > .bp3-tooltip > .bp3-popover-arrow svg{
+        -webkit-transform:rotate(0);
+                transform:rotate(0); }
+  .bp3-tether-element-attached-top.bp3-tether-target-attached-bottom > .bp3-tooltip{
+    margin-top:11px; }
+    .bp3-tether-element-attached-top.bp3-tether-target-attached-bottom > .bp3-tooltip > .bp3-popover-arrow{
+      top:-8px; }
+      .bp3-tether-element-attached-top.bp3-tether-target-attached-bottom > .bp3-tooltip > .bp3-popover-arrow svg{
+        -webkit-transform:rotate(90deg);
+                transform:rotate(90deg); }
+  .bp3-tether-element-attached-right.bp3-tether-target-attached-left > .bp3-tooltip{
+    margin-left:-11px;
+    margin-right:11px; }
+    .bp3-tether-element-attached-right.bp3-tether-target-attached-left > .bp3-tooltip > .bp3-popover-arrow{
+      right:-8px; }
+      .bp3-tether-element-attached-right.bp3-tether-target-attached-left > .bp3-tooltip > .bp3-popover-arrow svg{
+        -webkit-transform:rotate(180deg);
+                transform:rotate(180deg); }
+  .bp3-tether-element-attached-middle > .bp3-tooltip > .bp3-popover-arrow{
+    top:50%;
+    -webkit-transform:translateY(-50%);
+            transform:translateY(-50%); }
+  .bp3-tether-element-attached-center > .bp3-tooltip > .bp3-popover-arrow{
+    right:50%;
+    -webkit-transform:translateX(50%);
+            transform:translateX(50%); }
+  .bp3-tether-element-attached-top.bp3-tether-target-attached-top > .bp3-tooltip > .bp3-popover-arrow{
+    top:-0.22183px; }
+  .bp3-tether-element-attached-right.bp3-tether-target-attached-right > .bp3-tooltip > .bp3-popover-arrow{
+    right:-0.22183px; }
+  .bp3-tether-element-attached-left.bp3-tether-target-attached-left > .bp3-tooltip > .bp3-popover-arrow{
+    left:-0.22183px; }
+  .bp3-tether-element-attached-bottom.bp3-tether-target-attached-bottom > .bp3-tooltip > .bp3-popover-arrow{
+    bottom:-0.22183px; }
+  .bp3-tether-element-attached-top.bp3-tether-element-attached-left > .bp3-tooltip{
+    -webkit-transform-origin:top left;
+            transform-origin:top left; }
+  .bp3-tether-element-attached-top.bp3-tether-element-attached-center > .bp3-tooltip{
+    -webkit-transform-origin:top center;
+            transform-origin:top center; }
+  .bp3-tether-element-attached-top.bp3-tether-element-attached-right > .bp3-tooltip{
+    -webkit-transform-origin:top right;
+            transform-origin:top right; }
+  .bp3-tether-element-attached-middle.bp3-tether-element-attached-left > .bp3-tooltip{
+    -webkit-transform-origin:center left;
+            transform-origin:center left; }
+  .bp3-tether-element-attached-middle.bp3-tether-element-attached-center > .bp3-tooltip{
+    -webkit-transform-origin:center center;
+            transform-origin:center center; }
+  .bp3-tether-element-attached-middle.bp3-tether-element-attached-right > .bp3-tooltip{
+    -webkit-transform-origin:center right;
+            transform-origin:center right; }
+  .bp3-tether-element-attached-bottom.bp3-tether-element-attached-left > .bp3-tooltip{
+    -webkit-transform-origin:bottom left;
+            transform-origin:bottom left; }
+  .bp3-tether-element-attached-bottom.bp3-tether-element-attached-center > .bp3-tooltip{
+    -webkit-transform-origin:bottom center;
+            transform-origin:bottom center; }
+  .bp3-tether-element-attached-bottom.bp3-tether-element-attached-right > .bp3-tooltip{
+    -webkit-transform-origin:bottom right;
+            transform-origin:bottom right; }
+  .bp3-tooltip .bp3-popover-content{
+    background:#394b59;
+    color:#f5f8fa; }
+  .bp3-tooltip .bp3-popover-arrow::before{
+    -webkit-box-shadow:1px 1px 6px rgba(16, 22, 26, 0.2);
+            box-shadow:1px 1px 6px rgba(16, 22, 26, 0.2); }
+  .bp3-tooltip .bp3-popover-arrow-border{
+    fill:#10161a;
+    fill-opacity:0.1; }
+  .bp3-tooltip .bp3-popover-arrow-fill{
+    fill:#394b59; }
+  .bp3-popover-enter > .bp3-tooltip, .bp3-popover-appear > .bp3-tooltip{
+    -webkit-transform:scale(0.8);
+            transform:scale(0.8); }
+  .bp3-popover-enter-active > .bp3-tooltip, .bp3-popover-appear-active > .bp3-tooltip{
+    -webkit-transform:scale(1);
+            transform:scale(1);
+    -webkit-transition-delay:0;
+            transition-delay:0;
+    -webkit-transition-duration:100ms;
+            transition-duration:100ms;
+    -webkit-transition-property:-webkit-transform;
+    transition-property:-webkit-transform;
+    transition-property:transform;
+    transition-property:transform, -webkit-transform;
+    -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9);
+            transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); }
+  .bp3-popover-exit > .bp3-tooltip{
+    -webkit-transform:scale(1);
+            transform:scale(1); }
+  .bp3-popover-exit-active > .bp3-tooltip{
+    -webkit-transform:scale(0.8);
+            transform:scale(0.8);
+    -webkit-transition-delay:0;
+            transition-delay:0;
+    -webkit-transition-duration:100ms;
+            transition-duration:100ms;
+    -webkit-transition-property:-webkit-transform;
+    transition-property:-webkit-transform;
+    transition-property:transform;
+    transition-property:transform, -webkit-transform;
+    -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9);
+            transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); }
+  .bp3-tooltip .bp3-popover-content{
+    padding:10px 12px; }
+  .bp3-tooltip.bp3-dark,
+  .bp3-dark .bp3-tooltip{
+    -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 2px 4px rgba(16, 22, 26, 0.4), 0 8px 24px rgba(16, 22, 26, 0.4);
+            box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 2px 4px rgba(16, 22, 26, 0.4), 0 8px 24px rgba(16, 22, 26, 0.4); }
+    .bp3-tooltip.bp3-dark .bp3-popover-content,
+    .bp3-dark .bp3-tooltip .bp3-popover-content{
+      background:#e1e8ed;
+      color:#394b59; }
+    .bp3-tooltip.bp3-dark .bp3-popover-arrow::before,
+    .bp3-dark .bp3-tooltip .bp3-popover-arrow::before{
+      -webkit-box-shadow:1px 1px 6px rgba(16, 22, 26, 0.4);
+              box-shadow:1px 1px 6px rgba(16, 22, 26, 0.4); }
+    .bp3-tooltip.bp3-dark .bp3-popover-arrow-border,
+    .bp3-dark .bp3-tooltip .bp3-popover-arrow-border{
+      fill:#10161a;
+      fill-opacity:0.2; }
+    .bp3-tooltip.bp3-dark .bp3-popover-arrow-fill,
+    .bp3-dark .bp3-tooltip .bp3-popover-arrow-fill{
+      fill:#e1e8ed; }
+  .bp3-tooltip.bp3-intent-primary .bp3-popover-content{
+    background:#137cbd;
+    color:#ffffff; }
+  .bp3-tooltip.bp3-intent-primary .bp3-popover-arrow-fill{
+    fill:#137cbd; }
+  .bp3-tooltip.bp3-intent-success .bp3-popover-content{
+    background:#0f9960;
+    color:#ffffff; }
+  .bp3-tooltip.bp3-intent-success .bp3-popover-arrow-fill{
+    fill:#0f9960; }
+  .bp3-tooltip.bp3-intent-warning .bp3-popover-content{
+    background:#d9822b;
+    color:#ffffff; }
+  .bp3-tooltip.bp3-intent-warning .bp3-popover-arrow-fill{
+    fill:#d9822b; }
+  .bp3-tooltip.bp3-intent-danger .bp3-popover-content{
+    background:#db3737;
+    color:#ffffff; }
+  .bp3-tooltip.bp3-intent-danger .bp3-popover-arrow-fill{
+    fill:#db3737; }
+
+.bp3-tooltip-indicator{
+  border-bottom:dotted 1px;
+  cursor:help; }
+.bp3-tree .bp3-icon, .bp3-tree .bp3-icon-standard, .bp3-tree .bp3-icon-large{
+  color:#5c7080; }
+  .bp3-tree .bp3-icon.bp3-intent-primary, .bp3-tree .bp3-icon-standard.bp3-intent-primary, .bp3-tree .bp3-icon-large.bp3-intent-primary{
+    color:#137cbd; }
+  .bp3-tree .bp3-icon.bp3-intent-success, .bp3-tree .bp3-icon-standard.bp3-intent-success, .bp3-tree .bp3-icon-large.bp3-intent-success{
+    color:#0f9960; }
+  .bp3-tree .bp3-icon.bp3-intent-warning, .bp3-tree .bp3-icon-standard.bp3-intent-warning, .bp3-tree .bp3-icon-large.bp3-intent-warning{
+    color:#d9822b; }
+  .bp3-tree .bp3-icon.bp3-intent-danger, .bp3-tree .bp3-icon-standard.bp3-intent-danger, .bp3-tree .bp3-icon-large.bp3-intent-danger{
+    color:#db3737; }
+
+.bp3-tree-node-list{
+  list-style:none;
+  margin:0;
+  padding-left:0; }
+
+.bp3-tree-root{
+  background-color:transparent;
+  cursor:default;
+  padding-left:0;
+  position:relative; }
+
+.bp3-tree-node-content-0{
+  padding-left:0px; }
+
+.bp3-tree-node-content-1{
+  padding-left:23px; }
+
+.bp3-tree-node-content-2{
+  padding-left:46px; }
+
+.bp3-tree-node-content-3{
+  padding-left:69px; }
+
+.bp3-tree-node-content-4{
+  padding-left:92px; }
+
+.bp3-tree-node-content-5{
+  padding-left:115px; }
+
+.bp3-tree-node-content-6{
+  padding-left:138px; }
+
+.bp3-tree-node-content-7{
+  padding-left:161px; }
+
+.bp3-tree-node-content-8{
+  padding-left:184px; }
+
+.bp3-tree-node-content-9{
+  padding-left:207px; }
+
+.bp3-tree-node-content-10{
+  padding-left:230px; }
+
+.bp3-tree-node-content-11{
+  padding-left:253px; }
+
+.bp3-tree-node-content-12{
+  padding-left:276px; }
+
+.bp3-tree-node-content-13{
+  padding-left:299px; }
+
+.bp3-tree-node-content-14{
+  padding-left:322px; }
+
+.bp3-tree-node-content-15{
+  padding-left:345px; }
+
+.bp3-tree-node-content-16{
+  padding-left:368px; }
+
+.bp3-tree-node-content-17{
+  padding-left:391px; }
+
+.bp3-tree-node-content-18{
+  padding-left:414px; }
+
+.bp3-tree-node-content-19{
+  padding-left:437px; }
+
+.bp3-tree-node-content-20{
+  padding-left:460px; }
+
+.bp3-tree-node-content{
+  -webkit-box-align:center;
+      -ms-flex-align:center;
+          align-items:center;
+  display:-webkit-box;
+  display:-ms-flexbox;
+  display:flex;
+  height:30px;
+  padding-right:5px;
+  width:100%; }
+  .bp3-tree-node-content:hover{
+    background-color:rgba(191, 204, 214, 0.4); }
+
+.bp3-tree-node-caret,
+.bp3-tree-node-caret-none{
+  min-width:30px; }
+
+.bp3-tree-node-caret{
+  color:#5c7080;
+  cursor:pointer;
+  padding:7px;
+  -webkit-transform:rotate(0deg);
+          transform:rotate(0deg);
+  -webkit-transition:-webkit-transform 200ms cubic-bezier(0.4, 1, 0.75, 0.9);
+  transition:-webkit-transform 200ms cubic-bezier(0.4, 1, 0.75, 0.9);
+  transition:transform 200ms cubic-bezier(0.4, 1, 0.75, 0.9);
+  transition:transform 200ms cubic-bezier(0.4, 1, 0.75, 0.9), -webkit-transform 200ms cubic-bezier(0.4, 1, 0.75, 0.9); }
+  .bp3-tree-node-caret:hover{
+    color:#182026; }
+  .bp3-dark .bp3-tree-node-caret{
+    color:#a7b6c2; }
+    .bp3-dark .bp3-tree-node-caret:hover{
+      color:#f5f8fa; }
+  .bp3-tree-node-caret.bp3-tree-node-caret-open{
+    -webkit-transform:rotate(90deg);
+            transform:rotate(90deg); }
+  .bp3-tree-node-caret.bp3-icon-standard::before{
+    content:""; }
+
+.bp3-tree-node-icon{
+  margin-right:7px;
+  position:relative; }
+
+.bp3-tree-node-label{
+  overflow:hidden;
+  text-overflow:ellipsis;
+  white-space:nowrap;
+  word-wrap:normal;
+  -webkit-box-flex:1;
+      -ms-flex:1 1 auto;
+          flex:1 1 auto;
+  position:relative;
+  -webkit-user-select:none;
+     -moz-user-select:none;
+      -ms-user-select:none;
+          user-select:none; }
+  .bp3-tree-node-label span{
+    display:inline; }
+
+.bp3-tree-node-secondary-label{
+  padding:0 5px;
+  -webkit-user-select:none;
+     -moz-user-select:none;
+      -ms-user-select:none;
+          user-select:none; }
+  .bp3-tree-node-secondary-label .bp3-popover-wrapper,
+  .bp3-tree-node-secondary-label .bp3-popover-target{
+    -webkit-box-align:center;
+        -ms-flex-align:center;
+            align-items:center;
+    display:-webkit-box;
+    display:-ms-flexbox;
+    display:flex; }
+
+.bp3-tree-node.bp3-disabled .bp3-tree-node-content{
+  background-color:inherit;
+  color:rgba(92, 112, 128, 0.6);
+  cursor:not-allowed; }
+
+.bp3-tree-node.bp3-disabled .bp3-tree-node-caret,
+.bp3-tree-node.bp3-disabled .bp3-tree-node-icon{
+  color:rgba(92, 112, 128, 0.6);
+  cursor:not-allowed; }
+
+.bp3-tree-node.bp3-tree-node-selected > .bp3-tree-node-content{
+  background-color:#137cbd; }
+  .bp3-tree-node.bp3-tree-node-selected > .bp3-tree-node-content,
+  .bp3-tree-node.bp3-tree-node-selected > .bp3-tree-node-content .bp3-icon, .bp3-tree-node.bp3-tree-node-selected > .bp3-tree-node-content .bp3-icon-standard, .bp3-tree-node.bp3-tree-node-selected > .bp3-tree-node-content .bp3-icon-large{
+    color:#ffffff; }
+  .bp3-tree-node.bp3-tree-node-selected > .bp3-tree-node-content .bp3-tree-node-caret::before{
+    color:rgba(255, 255, 255, 0.7); }
+  .bp3-tree-node.bp3-tree-node-selected > .bp3-tree-node-content .bp3-tree-node-caret:hover::before{
+    color:#ffffff; }
+
+.bp3-dark .bp3-tree-node-content:hover{
+  background-color:rgba(92, 112, 128, 0.3); }
+
+.bp3-dark .bp3-tree .bp3-icon, .bp3-dark .bp3-tree .bp3-icon-standard, .bp3-dark .bp3-tree .bp3-icon-large{
+  color:#a7b6c2; }
+  .bp3-dark .bp3-tree .bp3-icon.bp3-intent-primary, .bp3-dark .bp3-tree .bp3-icon-standard.bp3-intent-primary, .bp3-dark .bp3-tree .bp3-icon-large.bp3-intent-primary{
+    color:#137cbd; }
+  .bp3-dark .bp3-tree .bp3-icon.bp3-intent-success, .bp3-dark .bp3-tree .bp3-icon-standard.bp3-intent-success, .bp3-dark .bp3-tree .bp3-icon-large.bp3-intent-success{
+    color:#0f9960; }
+  .bp3-dark .bp3-tree .bp3-icon.bp3-intent-warning, .bp3-dark .bp3-tree .bp3-icon-standard.bp3-intent-warning, .bp3-dark .bp3-tree .bp3-icon-large.bp3-intent-warning{
+    color:#d9822b; }
+  .bp3-dark .bp3-tree .bp3-icon.bp3-intent-danger, .bp3-dark .bp3-tree .bp3-icon-standard.bp3-intent-danger, .bp3-dark .bp3-tree .bp3-icon-large.bp3-intent-danger{
+    color:#db3737; }
+
+.bp3-dark .bp3-tree-node.bp3-tree-node-selected > .bp3-tree-node-content{
+  background-color:#137cbd; }
+.bp3-omnibar{
+  -webkit-filter:blur(0);
+          filter:blur(0);
+  opacity:1;
+  background-color:#ffffff;
+  border-radius:3px;
+  -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 4px 8px rgba(16, 22, 26, 0.2), 0 18px 46px 6px rgba(16, 22, 26, 0.2);
+          box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 4px 8px rgba(16, 22, 26, 0.2), 0 18px 46px 6px rgba(16, 22, 26, 0.2);
+  left:calc(50% - 250px);
+  top:20vh;
+  width:500px;
+  z-index:21; }
+  .bp3-omnibar.bp3-overlay-enter, .bp3-omnibar.bp3-overlay-appear{
+    -webkit-filter:blur(20px);
+            filter:blur(20px);
+    opacity:0.2; }
+  .bp3-omnibar.bp3-overlay-enter-active, .bp3-omnibar.bp3-overlay-appear-active{
+    -webkit-filter:blur(0);
+            filter:blur(0);
+    opacity:1;
+    -webkit-transition-delay:0;
+            transition-delay:0;
+    -webkit-transition-duration:200ms;
+            transition-duration:200ms;
+    -webkit-transition-property:opacity, -webkit-filter;
+    transition-property:opacity, -webkit-filter;
+    transition-property:filter, opacity;
+    transition-property:filter, opacity, -webkit-filter;
+    -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9);
+            transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); }
+  .bp3-omnibar.bp3-overlay-exit{
+    -webkit-filter:blur(0);
+            filter:blur(0);
+    opacity:1; }
+  .bp3-omnibar.bp3-overlay-exit-active{
+    -webkit-filter:blur(20px);
+            filter:blur(20px);
+    opacity:0.2;
+    -webkit-transition-delay:0;
+            transition-delay:0;
+    -webkit-transition-duration:200ms;
+            transition-duration:200ms;
+    -webkit-transition-property:opacity, -webkit-filter;
+    transition-property:opacity, -webkit-filter;
+    transition-property:filter, opacity;
+    transition-property:filter, opacity, -webkit-filter;
+    -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9);
+            transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); }
+  .bp3-omnibar .bp3-input{
+    background-color:transparent;
+    border-radius:0; }
+    .bp3-omnibar .bp3-input, .bp3-omnibar .bp3-input:focus{
+      -webkit-box-shadow:none;
+              box-shadow:none; }
+  .bp3-omnibar .bp3-menu{
+    background-color:transparent;
+    border-radius:0;
+    -webkit-box-shadow:inset 0 1px 0 rgba(16, 22, 26, 0.15);
+            box-shadow:inset 0 1px 0 rgba(16, 22, 26, 0.15);
+    max-height:calc(60vh - 40px);
+    overflow:auto; }
+    .bp3-omnibar .bp3-menu:empty{
+      display:none; }
+  .bp3-dark .bp3-omnibar, .bp3-omnibar.bp3-dark{
+    background-color:#30404d;
+    -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 4px 8px rgba(16, 22, 26, 0.4), 0 18px 46px 6px rgba(16, 22, 26, 0.4);
+            box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 4px 8px rgba(16, 22, 26, 0.4), 0 18px 46px 6px rgba(16, 22, 26, 0.4); }
+
+.bp3-omnibar-overlay .bp3-overlay-backdrop{
+  background-color:rgba(16, 22, 26, 0.2); }
+
+.bp3-select-popover .bp3-popover-content{
+  padding:5px; }
+
+.bp3-select-popover .bp3-input-group{
+  margin-bottom:0; }
+
+.bp3-select-popover .bp3-menu{
+  max-height:300px;
+  max-width:400px;
+  overflow:auto;
+  padding:0; }
+  .bp3-select-popover .bp3-menu:not(:first-child){
+    padding-top:5px; }
+
+.bp3-multi-select{
+  min-width:150px; }
+
+.bp3-multi-select-popover .bp3-menu{
+  max-height:300px;
+  max-width:400px;
+  overflow:auto; }
+
+.bp3-select-popover .bp3-popover-content{
+  padding:5px; }
+
+.bp3-select-popover .bp3-input-group{
+  margin-bottom:0; }
+
+.bp3-select-popover .bp3-menu{
+  max-height:300px;
+  max-width:400px;
+  overflow:auto;
+  padding:0; }
+  .bp3-select-popover .bp3-menu:not(:first-child){
+    padding-top:5px; }
+/*-----------------------------------------------------------------------------
+| Copyright (c) Jupyter Development Team.
+| Distributed under the terms of the Modified BSD License.
+|----------------------------------------------------------------------------*/
+
+/* This file was auto-generated by ensureUiComponents() in @jupyterlab/buildutils */
+
+/**
+ * (DEPRECATED) Support for consuming icons as CSS background images
+ */
+
+/* Icons urls */
+
+:root {
+  --jp-icon-add: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTE5IDEzaC02djZoLTJ2LTZINXYtMmg2VjVoMnY2aDZ2MnoiLz4KICA8L2c+Cjwvc3ZnPgo=);
+  --jp-icon-bug: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTIwIDhoLTIuODFjLS40NS0uNzgtMS4wNy0xLjQ1LTEuODItMS45NkwxNyA0LjQxIDE1LjU5IDNsLTIuMTcgMi4xN0MxMi45NiA1LjA2IDEyLjQ5IDUgMTIgNWMtLjQ5IDAtLjk2LjA2LTEuNDEuMTdMOC40MSAzIDcgNC40MWwxLjYyIDEuNjNDNy44OCA2LjU1IDcuMjYgNy4yMiA2LjgxIDhINHYyaDIuMDljLS4wNS4zMy0uMDkuNjYtLjA5IDF2MUg0djJoMnYxYzAgLjM0LjA0LjY3LjA5IDFINHYyaDIuODFjMS4wNCAxLjc5IDIuOTcgMyA1LjE5IDNzNC4xNS0xLjIxIDUuMTktM0gyMHYtMmgtMi4wOWMuMDUtLjMzLjA5LS42Ni4wOS0xdi0xaDJ2LTJoLTJ2LTFjMC0uMzQtLjA0LS42Ny0uMDktMUgyMFY4em0tNiA4aC00di0yaDR2MnptMC00aC00di0yaDR2MnoiLz4KICA8L2c+Cjwvc3ZnPgo=);
+  --jp-icon-build: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIHZpZXdCb3g9IjAgMCAyNCAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTE0LjkgMTcuNDVDMTYuMjUgMTcuNDUgMTcuMzUgMTYuMzUgMTcuMzUgMTVDMTcuMzUgMTMuNjUgMTYuMjUgMTIuNTUgMTQuOSAxMi41NUMxMy41NCAxMi41NSAxMi40NSAxMy42NSAxMi40NSAxNUMxMi40NSAxNi4zNSAxMy41NCAxNy40NSAxNC45IDE3LjQ1Wk0yMC4xIDE1LjY4TDIxLjU4IDE2Ljg0QzIxLjcxIDE2Ljk1IDIxLjc1IDE3LjEzIDIxLjY2IDE3LjI5TDIwLjI2IDE5LjcxQzIwLjE3IDE5Ljg2IDIwIDE5LjkyIDE5LjgzIDE5Ljg2TDE4LjA5IDE5LjE2QzE3LjczIDE5LjQ0IDE3LjMzIDE5LjY3IDE2LjkxIDE5Ljg1TDE2LjY0IDIxLjdDMTYuNjIgMjEuODcgMTYuNDcgMjIgMTYuMyAyMkgxMy41QzEzLjMyIDIyIDEzLjE4IDIxLjg3IDEzLjE1IDIxLjdMMTIuODkgMTkuODVDMTIuNDYgMTkuNjcgMTIuMDcgMTkuNDQgMTEuNzEgMTkuMTZMOS45NjAwMiAxOS44NkM5LjgxMDAyIDE5LjkyIDkuNjIwMDIgMTkuODYgOS41NDAwMiAxOS43MUw4LjE0MDAyIDE3LjI5QzguMDUwMDIgMTcuMTMgOC4wOTAwMiAxNi45NSA4LjIyMDAyIDE2Ljg0TDkuNzAwMDIgMTUuNjhMOS42NTAwMSAxNUw5LjcwMDAyIDE0LjMxTDguMjIwMDIgMTMuMTZDOC4wOTAwMiAxMy4wNSA4LjA1MDAyIDEyLjg2IDguMTQwMDIgMTIuNzFMOS41NDAwMiAxMC4yOUM5LjYyMDAyIDEwLjEzIDkuODEwMDIgMTAuMDcgOS45NjAwMiAxMC4xM0wxMS43MSAxMC44NEMxMi4wNyAxMC41NiAxMi40NiAxMC4zMiAxMi44OSAxMC4xNUwxMy4xNSA4LjI4OTk4QzEzLjE4IDguMTI5OTggMTMuMzIgNy45OTk5OCAxMy41IDcuOTk5OThIMTYuM0MxNi40NyA3Ljk5OTk4IDE2LjYyIDguMTI5OTggMTYuNjQgOC4yODk5OEwxNi45MSAxMC4xNUMxNy4zMyAxMC4zMiAxNy43MyAxMC41NiAxOC4wOSAxMC44NEwxOS44MyAxMC4xM0MyMCAxMC4wNyAyMC4xNyAxMC4xMyAyMC4yNiAxMC4yOUwyMS42NiAxMi43MUMyMS43NSAxMi44NiAyMS43MSAxMy4wNSAyMS41OCAxMy4xNkwyMC4xIDE0LjMxTDIwLjE1IDE1TDIwLjEgMTUuNjhaIi8+CiAgICA8cGF0aCBkPSJNNy4zMjk2NiA3LjQ0NDU0QzguMDgzMSA3LjAwOTU0IDguMzM5MzIgNi4wNTMzMiA3LjkwNDMyIDUuMjk5ODhDNy40NjkzMiA0LjU0NjQzIDYuNTA4MSA0LjI4MTU2IDUuNzU0NjYgNC43MTY1NkM1LjM5MTc2IDQuOTI2MDggNS4xMjY5NSA1LjI3MTE4IDUuMDE4NDkgNS42NzU5NEM0LjkxMDA0IDYuMDgwNzEgNC45NjY4MiA2LjUxMTk4IDUuMTc2MzQgNi44NzQ4OEM1LjYxMTM0IDcuNjI4MzIgNi41NzYyMiA3Ljg3OTU0IDcuMzI5NjYgNy40NDQ1NFpNOS42NTcxOCA0Ljc5NTkzTDEwLjg2NzIgNC45NTE3OUMxMC45NjI4IDQuOTc3NDEgMTEuMDQwMiA1LjA3MTMzIDExLjAzODIgNS4xODc5M0wxMS4wMzg4IDYuOTg4OTNDMTEuMDQ1NSA3LjEwMDU0IDEwLjk2MTYgNy4xOTUxOCAxMC44NTUgNy4yMTA1NEw5LjY2MDAxIDcuMzgwODNMOS4yMzkxNSA4LjEzMTg4TDkuNjY5NjEgOS4yNTc0NUM5LjcwNzI5IDkuMzYyNzEgOS42NjkzNCA5LjQ3Njk5IDkuNTc0MDggOS41MzE5OUw4LjAxNTIzIDEwLjQzMkM3LjkxMTMxIDEwLjQ5MiA3Ljc5MzM3IDEwLjQ2NzcgNy43MjEwNSAxMC4zODI0TDYuOTg3NDggOS40MzE4OEw2LjEwOTMxIDkuNDMwODNMNS4zNDcwNCAxMC4zOTA1QzUuMjg5MDkgMTAuNDcwMiA1LjE3MzgzIDEwLjQ5MDUgNS4wNzE4NyAxMC40MzM5TDMuNTEyNDUgOS41MzI5M0MzLjQxMDQ5IDkuNDc2MzMgMy4zNzY0NyA5LjM1NzQxIDMuNDEwNzUgOS4yNTY3OUwzLjg2MzQ3IDguMTQwOTNMMy42MTc0OSA3Ljc3NDg4TDMuNDIzNDcgNy4zNzg4M0wyLjIzMDc1IDcuMjEyOTdDMi4xMjY0NyA3LjE5MjM1IDIuMDQwNDkgNy4xMDM0MiAyLjA0MjQ1IDYuOTg2ODJMMi4wNDE4NyA1LjE4NTgyQzIuMDQzODMgNS4wNjkyMiAyLjExOTA5IDQuOTc5NTggMi4yMTcwNCA0Ljk2OTIyTDMuNDIwNjUgNC43OTM5M0wzLjg2NzQ5IDQuMDI3ODhMMy40MTEwNSAyLjkxNzMxQzMuMzczMzcgMi44MTIwNCAzLjQxMTMxIDIuNjk3NzYgMy41MTUyMyAyLjYzNzc2TDUuMDc0MDggMS43Mzc3NkM1LjE2OTM0IDEuNjgyNzYgNS4yODcyOSAxLjcwNzA0IDUuMzU5NjEgMS43OTIzMUw2LjExOTE1IDIuNzI3ODhMNi45ODAwMSAyLjczODkzTDcuNzI0OTYgMS43ODkyMkM3Ljc5MTU2IDEuNzA0NTggNy45MTU0OCAxLjY3OTIyIDguMDA4NzkgMS43NDA4Mkw5LjU2ODIxIDIuNjQxODJDOS42NzAxNyAyLjY5ODQyIDkuNzEyODUgMi44MTIzNCA5LjY4NzIzIDIuOTA3OTdMOS4yMTcxOCA0LjAzMzgzTDkuNDYzMTYgNC4zOTk4OEw5LjY1NzE4IDQuNzk1OTNaIi8+CiAgPC9nPgo8L3N2Zz4K);
+  --jp-icon-caret-down-empty-thin: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIwIDIwIj4KCTxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iPgoJCTxwb2x5Z29uIGNsYXNzPSJzdDEiIHBvaW50cz0iOS45LDEzLjYgMy42LDcuNCA0LjQsNi42IDkuOSwxMi4yIDE1LjQsNi43IDE2LjEsNy40ICIvPgoJPC9nPgo8L3N2Zz4K);
+  --jp-icon-caret-down-empty: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDE4IDE4Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIj4KICAgIDxwYXRoIGQ9Ik01LjIsNS45TDksOS43bDMuOC0zLjhsMS4yLDEuMmwtNC45LDVsLTQuOS01TDUuMiw1Ljl6Ii8+CiAgPC9nPgo8L3N2Zz4K);
+  --jp-icon-caret-down: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDE4IDE4Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIj4KICAgIDxwYXRoIGQ9Ik01LjIsNy41TDksMTEuMmwzLjgtMy44SDUuMnoiLz4KICA8L2c+Cjwvc3ZnPgo=);
+  --jp-icon-caret-left: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDE4IDE4Ij4KCTxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iPgoJCTxwYXRoIGQ9Ik0xMC44LDEyLjhMNy4xLDlsMy44LTMuOGwwLDcuNkgxMC44eiIvPgogIDwvZz4KPC9zdmc+Cg==);
+  --jp-icon-caret-right: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDE4IDE4Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIj4KICAgIDxwYXRoIGQ9Ik03LjIsNS4yTDEwLjksOWwtMy44LDMuOFY1LjJINy4yeiIvPgogIDwvZz4KPC9zdmc+Cg==);
+  --jp-icon-caret-up-empty-thin: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIwIDIwIj4KCTxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iPgoJCTxwb2x5Z29uIGNsYXNzPSJzdDEiIHBvaW50cz0iMTUuNCwxMy4zIDkuOSw3LjcgNC40LDEzLjIgMy42LDEyLjUgOS45LDYuMyAxNi4xLDEyLjYgIi8+Cgk8L2c+Cjwvc3ZnPgo=);
+  --jp-icon-caret-up: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDE4IDE4Ij4KCTxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iPgoJCTxwYXRoIGQ9Ik01LjIsMTAuNUw5LDYuOGwzLjgsMy44SDUuMnoiLz4KICA8L2c+Cjwvc3ZnPgo=);
+  --jp-icon-case-sensitive: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIwIDIwIj4KICA8ZyBjbGFzcz0ianAtaWNvbjIiIGZpbGw9IiM0MTQxNDEiPgogICAgPHJlY3QgeD0iMiIgeT0iMiIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2Ii8+CiAgPC9nPgogIDxnIGNsYXNzPSJqcC1pY29uLWFjY2VudDIiIGZpbGw9IiNGRkYiPgogICAgPHBhdGggZD0iTTcuNiw4aDAuOWwzLjUsOGgtMS4xTDEwLDE0SDZsLTAuOSwySDRMNy42LDh6IE04LDkuMUw2LjQsMTNoMy4yTDgsOS4xeiIvPgogICAgPHBhdGggZD0iTTE2LjYsOS44Yy0wLjIsMC4xLTAuNCwwLjEtMC43LDAuMWMtMC4yLDAtMC40LTAuMS0wLjYtMC4yYy0wLjEtMC4xLTAuMi0wLjQtMC4yLTAuNyBjLTAuMywwLjMtMC42LDAuNS0wLjksMC43Yy0wLjMsMC4xLTAuNywwLjItMS4xLDAuMmMtMC4zLDAtMC41LDAtMC43LTAuMWMtMC4yLTAuMS0wLjQtMC4yLTAuNi0wLjNjLTAuMi0wLjEtMC4zLTAuMy0wLjQtMC41IGMtMC4xLTAuMi0wLjEtMC40LTAuMS0wLjdjMC0wLjMsMC4xLTAuNiwwLjItMC44YzAuMS0wLjIsMC4zLTAuNCwwLjQtMC41QzEyLDcsMTIuMiw2LjksMTIuNSw2LjhjMC4yLTAuMSwwLjUtMC4xLDAuNy0wLjIgYzAuMy0wLjEsMC41LTAuMSwwLjctMC4xYzAuMiwwLDAuNC0wLjEsMC42LTAuMWMwLjIsMCwwLjMtMC4xLDAuNC0wLjJjMC4xLTAuMSwwLjItMC4yLDAuMi0wLjRjMC0xLTEuMS0xLTEuMy0xIGMtMC40LDAtMS40LDAtMS40LDEuMmgtMC45YzAtMC40LDAuMS0wLjcsMC4yLTFjMC4xLTAuMiwwLjMtMC40LDAuNS0wLjZjMC4yLTAuMiwwLjUtMC4zLDAuOC0wLjNDMTMuMyw0LDEzLjYsNCwxMy45LDQgYzAuMywwLDAuNSwwLDAuOCwwLjFjMC4zLDAsMC41LDAuMSwwLjcsMC4yYzAuMiwwLjEsMC40LDAuMywwLjUsMC41QzE2LDUsMTYsNS4yLDE2LDUuNnYyLjljMCwwLjIsMCwwLjQsMCwwLjUgYzAsMC4xLDAuMSwwLjIsMC4zLDAuMmMwLjEsMCwwLjIsMCwwLjMsMFY5Ljh6IE0xNS4yLDYuOWMtMS4yLDAuNi0zLjEsMC4yLTMuMSwxLjRjMCwxLjQsMy4xLDEsMy4xLTAuNVY2Ljl6Ii8+CiAgPC9nPgo8L3N2Zz4K);
+  --jp-icon-check: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTkgMTYuMTdMNC44MyAxMmwtMS40MiAxLjQxTDkgMTkgMjEgN2wtMS40MS0xLjQxeiIvPgogIDwvZz4KPC9zdmc+Cg==);
+  --jp-icon-circle-empty: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTEyIDJDNi40NyAyIDIgNi40NyAyIDEyczQuNDcgMTAgMTAgMTAgMTAtNC40NyAxMC0xMFMxNy41MyAyIDEyIDJ6bTAgMThjLTQuNDEgMC04LTMuNTktOC04czMuNTktOCA4LTggOCAzLjU5IDggOC0zLjU5IDgtOCA4eiIvPgogIDwvZz4KPC9zdmc+Cg==);
+  --jp-icon-circle: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPGNpcmNsZSBjeD0iOSIgY3k9IjkiIHI9IjgiLz4KICA8L2c+Cjwvc3ZnPgo=);
+  --jp-icon-clear: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8bWFzayBpZD0iZG9udXRIb2xlIj4KICAgIDxyZWN0IHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0id2hpdGUiIC8+CiAgICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSI4IiBmaWxsPSJibGFjayIvPgogIDwvbWFzaz4KCiAgPGcgY2xhc3M9ImpwLWljb24zIiBmaWxsPSIjNjE2MTYxIj4KICAgIDxyZWN0IGhlaWdodD0iMTgiIHdpZHRoPSIyIiB4PSIxMSIgeT0iMyIgdHJhbnNmb3JtPSJyb3RhdGUoMzE1LCAxMiwgMTIpIi8+CiAgICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIgbWFzaz0idXJsKCNkb251dEhvbGUpIi8+CiAgPC9nPgo8L3N2Zz4K);
+  --jp-icon-close: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbi1ub25lIGpwLWljb24tc2VsZWN0YWJsZS1pbnZlcnNlIGpwLWljb24zLWhvdmVyIiBmaWxsPSJub25lIj4KICAgIDxjaXJjbGUgY3g9IjEyIiBjeT0iMTIiIHI9IjExIi8+CiAgPC9nPgoKICA8ZyBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIGpwLWljb24tYWNjZW50Mi1ob3ZlciIgZmlsbD0iIzYxNjE2MSI+CiAgICA8cGF0aCBkPSJNMTkgNi40MUwxNy41OSA1IDEyIDEwLjU5IDYuNDEgNSA1IDYuNDEgMTAuNTkgMTIgNSAxNy41OSA2LjQxIDE5IDEyIDEzLjQxIDE3LjU5IDE5IDE5IDE3LjU5IDEzLjQxIDEyeiIvPgogIDwvZz4KCiAgPGcgY2xhc3M9ImpwLWljb24tbm9uZSBqcC1pY29uLWJ1c3kiIGZpbGw9Im5vbmUiPgogICAgPGNpcmNsZSBjeD0iMTIiIGN5PSIxMiIgcj0iNyIvPgogIDwvZz4KPC9zdmc+Cg==);
+  --jp-icon-code: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjIiIGhlaWdodD0iMjIiIHZpZXdCb3g9IjAgMCAyOCAyOCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KCTxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CgkJPHBhdGggZD0iTTExLjQgMTguNkw2LjggMTRMMTEuNCA5LjRMMTAgOEw0IDE0TDEwIDIwTDExLjQgMTguNlpNMTYuNiAxOC42TDIxLjIgMTRMMTYuNiA5LjRMMTggOEwyNCAxNEwxOCAyMEwxNi42IDE4LjZWMTguNloiLz4KCTwvZz4KPC9zdmc+Cg==);
+  --jp-icon-console: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIwMCAyMDAiPgogIDxnIGNsYXNzPSJqcC1pY29uLWJyYW5kMSBqcC1pY29uLXNlbGVjdGFibGUiIGZpbGw9IiMwMjg4RDEiPgogICAgPHBhdGggZD0iTTIwIDE5LjhoMTYwdjE1OS45SDIweiIvPgogIDwvZz4KICA8ZyBjbGFzcz0ianAtaWNvbi1zZWxlY3RhYmxlLWludmVyc2UiIGZpbGw9IiNmZmYiPgogICAgPHBhdGggZD0iTTEwNSAxMjcuM2g0MHYxMi44aC00MHpNNTEuMSA3N0w3NCA5OS45bC0yMy4zIDIzLjMgMTAuNSAxMC41IDIzLjMtMjMuM0w5NSA5OS45IDg0LjUgODkuNCA2MS42IDY2LjV6Ii8+CiAgPC9nPgo8L3N2Zz4K);
+  --jp-icon-copy: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTExLjksMUgzLjJDMi40LDEsMS43LDEuNywxLjcsMi41djEwLjJoMS41VjIuNWg4LjdWMXogTTE0LjEsMy45aC04Yy0wLjgsMC0xLjUsMC43LTEuNSwxLjV2MTAuMmMwLDAuOCwwLjcsMS41LDEuNSwxLjVoOCBjMC44LDAsMS41LTAuNywxLjUtMS41VjUuNEMxNS41LDQuNiwxNC45LDMuOSwxNC4xLDMuOXogTTE0LjEsMTUuNWgtOFY1LjRoOFYxNS41eiIvPgogIDwvZz4KPC9zdmc+Cg==);
+  --jp-icon-cut: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTkuNjQgNy42NGMuMjMtLjUuMzYtMS4wNS4zNi0xLjY0IDAtMi4yMS0xLjc5LTQtNC00UzIgMy43OSAyIDZzMS43OSA0IDQgNGMuNTkgMCAxLjE0LS4xMyAxLjY0LS4zNkwxMCAxMmwtMi4zNiAyLjM2QzcuMTQgMTQuMTMgNi41OSAxNCA2IDE0Yy0yLjIxIDAtNCAxLjc5LTQgNHMxLjc5IDQgNCA0IDQtMS43OSA0LTRjMC0uNTktLjEzLTEuMTQtLjM2LTEuNjRMMTIgMTRsNyA3aDN2LTFMOS42NCA3LjY0ek02IDhjLTEuMSAwLTItLjg5LTItMnMuOS0yIDItMiAyIC44OSAyIDItLjkgMi0yIDJ6bTAgMTJjLTEuMSAwLTItLjg5LTItMnMuOS0yIDItMiAyIC44OSAyIDItLjkgMi0yIDJ6bTYtNy41Yy0uMjggMC0uNS0uMjItLjUtLjVzLjIyLS41LjUtLjUuNS4yMi41LjUtLjIyLjUtLjUuNXpNMTkgM2wtNiA2IDIgMiA3LTdWM3oiLz4KICA8L2c+Cjwvc3ZnPgo=);
+  --jp-icon-download: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTE5IDloLTRWM0g5djZINWw3IDcgNy03ek01IDE4djJoMTR2LTJINXoiLz4KICA8L2c+Cjwvc3ZnPgo=);
+  --jp-icon-edit: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTMgMTcuMjVWMjFoMy43NUwxNy44MSA5Ljk0bC0zLjc1LTMuNzVMMyAxNy4yNXpNMjAuNzEgNy4wNGMuMzktLjM5LjM5LTEuMDIgMC0xLjQxbC0yLjM0LTIuMzRjLS4zOS0uMzktMS4wMi0uMzktMS40MSAwbC0xLjgzIDEuODMgMy43NSAzLjc1IDEuODMtMS44M3oiLz4KICA8L2c+Cjwvc3ZnPgo=);
+  --jp-icon-ellipses: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPGNpcmNsZSBjeD0iNSIgY3k9IjEyIiByPSIyIi8+CiAgICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIyIi8+CiAgICA8Y2lyY2xlIGN4PSIxOSIgY3k9IjEyIiByPSIyIi8+CiAgPC9nPgo8L3N2Zz4K);
+  --jp-icon-extension: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTIwLjUgMTFIMTlWN2MwLTEuMS0uOS0yLTItMmgtNFYzLjVDMTMgMi4xMiAxMS44OCAxIDEwLjUgMVM4IDIuMTIgOCAzLjVWNUg0Yy0xLjEgMC0xLjk5LjktMS45OSAydjMuOEgzLjVjMS40OSAwIDIuNyAxLjIxIDIuNyAyLjdzLTEuMjEgMi43LTIuNyAyLjdIMlYyMGMwIDEuMS45IDIgMiAyaDMuOHYtMS41YzAtMS40OSAxLjIxLTIuNyAyLjctMi43IDEuNDkgMCAyLjcgMS4yMSAyLjcgMi43VjIySDE3YzEuMSAwIDItLjkgMi0ydi00aDEuNWMxLjM4IDAgMi41LTEuMTIgMi41LTIuNVMyMS44OCAxMSAyMC41IDExeiIvPgogIDwvZz4KPC9zdmc+Cg==);
+  --jp-icon-fast-forward: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICAgIDxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CiAgICAgICAgPHBhdGggZD0iTTQgMThsOC41LTZMNCA2djEyem05LTEydjEybDguNS02TDEzIDZ6Ii8+CiAgICA8L2c+Cjwvc3ZnPgo=);
+  --jp-icon-file-upload: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTkgMTZoNnYtNmg0bC03LTctNyA3aDR6bS00IDJoMTR2Mkg1eiIvPgogIDwvZz4KPC9zdmc+Cg==);
+  --jp-icon-file: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIyIDIyIj4KICA8cGF0aCBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNjE2MTYxIiBkPSJNMTkuMyA4LjJsLTUuNS01LjVjLS4zLS4zLS43LS41LTEuMi0uNUgzLjljLS44LjEtMS42LjktMS42IDEuOHYxNC4xYzAgLjkuNyAxLjYgMS42IDEuNmgxNC4yYy45IDAgMS42LS43IDEuNi0xLjZWOS40Yy4xLS41LS4xLS45LS40LTEuMnptLTUuOC0zLjNsMy40IDMuNmgtMy40VjQuOXptMy45IDEyLjdINC43Yy0uMSAwLS4yIDAtLjItLjJWNC43YzAtLjIuMS0uMy4yLS4zaDcuMnY0LjRzMCAuOC4zIDEuMWMuMy4zIDEuMS4zIDEuMS4zaDQuM3Y3LjJzLS4xLjItLjIuMnoiLz4KPC9zdmc+Cg==);
+  --jp-icon-filter-list: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTEwIDE4aDR2LTJoLTR2MnpNMyA2djJoMThWNkgzem0zIDdoMTJ2LTJINnYyeiIvPgogIDwvZz4KPC9zdmc+Cg==);
+  --jp-icon-folder: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNjE2MTYxIiBkPSJNMTAgNEg0Yy0xLjEgMC0xLjk5LjktMS45OSAyTDIgMThjMCAxLjEuOSAyIDIgMmgxNmMxLjEgMCAyLS45IDItMlY4YzAtMS4xLS45LTItMi0yaC04bC0yLTJ6Ii8+Cjwvc3ZnPgo=);
+  --jp-icon-html5: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDUxMiA1MTIiPgogIDxwYXRoIGNsYXNzPSJqcC1pY29uMCBqcC1pY29uLXNlbGVjdGFibGUiIGZpbGw9IiMwMDAiIGQ9Ik0xMDguNCAwaDIzdjIyLjhoMjEuMlYwaDIzdjY5aC0yM1Y0NmgtMjF2MjNoLTIzLjJNMjA2IDIzaC0yMC4zVjBoNjMuN3YyM0gyMjl2NDZoLTIzbTUzLjUtNjloMjQuMWwxNC44IDI0LjNMMzEzLjIgMGgyNC4xdjY5aC0yM1YzNC44bC0xNi4xIDI0LjgtMTYuMS0yNC44VjY5aC0yMi42bTg5LjItNjloMjN2NDYuMmgzMi42VjY5aC01NS42Ii8+CiAgPHBhdGggY2xhc3M9ImpwLWljb24tc2VsZWN0YWJsZSIgZmlsbD0iI2U0NGQyNiIgZD0iTTEwNy42IDQ3MWwtMzMtMzcwLjRoMzYyLjhsLTMzIDM3MC4yTDI1NS43IDUxMiIvPgogIDxwYXRoIGNsYXNzPSJqcC1pY29uLXNlbGVjdGFibGUiIGZpbGw9IiNmMTY1MjkiIGQ9Ik0yNTYgNDgwLjVWMTMxaDE0OC4zTDM3NiA0NDciLz4KICA8cGF0aCBjbGFzcz0ianAtaWNvbi1zZWxlY3RhYmxlLWludmVyc2UiIGZpbGw9IiNlYmViZWIiIGQ9Ik0xNDIgMTc2LjNoMTE0djQ1LjRoLTY0LjJsNC4yIDQ2LjVoNjB2NDUuM0gxNTQuNG0yIDIyLjhIMjAybDMuMiAzNi4zIDUwLjggMTMuNnY0Ny40bC05My4yLTI2Ii8+CiAgPHBhdGggY2xhc3M9ImpwLWljb24tc2VsZWN0YWJsZS1pbnZlcnNlIiBmaWxsPSIjZmZmIiBkPSJNMzY5LjYgMTc2LjNIMjU1Ljh2NDUuNGgxMDkuNm0tNC4xIDQ2LjVIMjU1Ljh2NDUuNGg1NmwtNS4zIDU5LTUwLjcgMTMuNnY0Ny4ybDkzLTI1LjgiLz4KPC9zdmc+Cg==);
+  --jp-icon-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIyIDIyIj4KICA8cGF0aCBjbGFzcz0ianAtaWNvbi1icmFuZDQganAtaWNvbi1zZWxlY3RhYmxlLWludmVyc2UiIGZpbGw9IiNGRkYiIGQ9Ik0yLjIgMi4yaDE3LjV2MTcuNUgyLjJ6Ii8+CiAgPHBhdGggY2xhc3M9ImpwLWljb24tYnJhbmQwIGpwLWljb24tc2VsZWN0YWJsZSIgZmlsbD0iIzNGNTFCNSIgZD0iTTIuMiAyLjJ2MTcuNWgxNy41bC4xLTE3LjVIMi4yem0xMi4xIDIuMmMxLjIgMCAyLjIgMSAyLjIgMi4ycy0xIDIuMi0yLjIgMi4yLTIuMi0xLTIuMi0yLjIgMS0yLjIgMi4yLTIuMnpNNC40IDE3LjZsMy4zLTguOCAzLjMgNi42IDIuMi0zLjIgNC40IDUuNEg0LjR6Ii8+Cjwvc3ZnPgo=);
+  --jp-icon-inspector: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNjE2MTYxIiBkPSJNMjAgNEg0Yy0xLjEgMC0xLjk5LjktMS45OSAyTDIgMThjMCAxLjEuOSAyIDIgMmgxNmMxLjEgMCAyLS45IDItMlY2YzAtMS4xLS45LTItMi0yem0tNSAxNEg0di00aDExdjR6bTAtNUg0VjloMTF2NHptNSA1aC00VjloNHY5eiIvPgo8L3N2Zz4K);
+  --jp-icon-json: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIyIDIyIj4KICA8ZyBjbGFzcz0ianAtaWNvbi13YXJuMSBqcC1pY29uLXNlbGVjdGFibGUiIGZpbGw9IiNGOUE4MjUiPgogICAgPHBhdGggZD0iTTIwLjIgMTEuOGMtMS42IDAtMS43LjUtMS43IDEgMCAuNC4xLjkuMSAxLjMuMS41LjEuOS4xIDEuMyAwIDEuNy0xLjQgMi4zLTMuNSAyLjNoLS45di0xLjloLjVjMS4xIDAgMS40IDAgMS40LS44IDAtLjMgMC0uNi0uMS0xIDAtLjQtLjEtLjgtLjEtMS4yIDAtMS4zIDAtMS44IDEuMy0yLTEuMy0uMi0xLjMtLjctMS4zLTIgMC0uNC4xLS44LjEtMS4yLjEtLjQuMS0uNy4xLTEgMC0uOC0uNC0uNy0xLjQtLjhoLS41VjQuMWguOWMyLjIgMCAzLjUuNyAzLjUgMi4zIDAgLjQtLjEuOS0uMSAxLjMtLjEuNS0uMS45LS4xIDEuMyAwIC41LjIgMSAxLjcgMXYxLjh6TTEuOCAxMC4xYzEuNiAwIDEuNy0uNSAxLjctMSAwLS40LS4xLS45LS4xLTEuMy0uMS0uNS0uMS0uOS0uMS0xLjMgMC0xLjYgMS40LTIuMyAzLjUtMi4zaC45djEuOWgtLjVjLTEgMC0xLjQgMC0xLjQuOCAwIC4zIDAgLjYuMSAxIDAgLjIuMS42LjEgMSAwIDEuMyAwIDEuOC0xLjMgMkM2IDExLjIgNiAxMS43IDYgMTNjMCAuNC0uMS44LS4xIDEuMi0uMS4zLS4xLjctLjEgMSAwIC44LjMuOCAxLjQuOGguNXYxLjloLS45Yy0yLjEgMC0zLjUtLjYtMy41LTIuMyAwLS40LjEtLjkuMS0xLjMuMS0uNS4xLS45LjEtMS4zIDAtLjUtLjItMS0xLjctMXYtMS45eiIvPgogICAgPGNpcmNsZSBjeD0iMTEiIGN5PSIxMy44IiByPSIyLjEiLz4KICAgIDxjaXJjbGUgY3g9IjExIiBjeT0iOC4yIiByPSIyLjEiLz4KICA8L2c+Cjwvc3ZnPgo=);
+  --jp-icon-jupyter-favicon: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTUyIiBoZWlnaHQ9IjE2NSIgdmlld0JveD0iMCAwIDE1MiAxNjUiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbi13YXJuMCIgZmlsbD0iI0YzNzcyNiI+CiAgICA8cGF0aCB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLjA3ODk0NywgMTEwLjU4MjkyNykiIGQ9Ik03NS45NDIyODQyLDI5LjU4MDQ1NjEgQzQzLjMwMjM5NDcsMjkuNTgwNDU2MSAxNC43OTY3ODMyLDE3LjY1MzQ2MzQgMCwwIEM1LjUxMDgzMjExLDE1Ljg0MDY4MjkgMTUuNzgxNTM4OSwyOS41NjY3NzMyIDI5LjM5MDQ5NDcsMzkuMjc4NDE3MSBDNDIuOTk5Nyw0OC45ODk4NTM3IDU5LjI3MzcsNTQuMjA2NzgwNSA3NS45NjA1Nzg5LDU0LjIwNjc4MDUgQzkyLjY0NzQ1NzksNTQuMjA2NzgwNSAxMDguOTIxNDU4LDQ4Ljk4OTg1MzcgMTIyLjUzMDY2MywzOS4yNzg0MTcxIEMxMzYuMTM5NDUzLDI5LjU2Njc3MzIgMTQ2LjQxMDI4NCwxNS44NDA2ODI5IDE1MS45MjExNTgsMCBDMTM3LjA4Nzg2OCwxNy42NTM0NjM0IDEwOC41ODI1ODksMjkuNTgwNDU2MSA3NS45NDIyODQyLDI5LjU4MDQ1NjEgTDc1Ljk0MjI4NDIsMjkuNTgwNDU2MSBaIiAvPgogICAgPHBhdGggdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC4wMzczNjgsIDAuNzA0ODc4KSIgZD0iTTc1Ljk3ODQ1NzksMjQuNjI2NDA3MyBDMTA4LjYxODc2MywyNC42MjY0MDczIDEzNy4xMjQ0NTgsMzYuNTUzNDQxNSAxNTEuOTIxMTU4LDU0LjIwNjc4MDUgQzE0Ni40MTAyODQsMzguMzY2MjIyIDEzNi4xMzk0NTMsMjQuNjQwMTMxNyAxMjIuNTMwNjYzLDE0LjkyODQ4NzggQzEwOC45MjE0NTgsNS4yMTY4NDM5IDkyLjY0NzQ1NzksMCA3NS45NjA1Nzg5LDAgQzU5LjI3MzcsMCA0Mi45OTk3LDUuMjE2ODQzOSAyOS4zOTA0OTQ3LDE0LjkyODQ4NzggQzE1Ljc4MTUzODksMjQuNjQwMTMxNyA1LjUxMDgzMjExLDM4LjM2NjIyMiAwLDU0LjIwNjc4MDUgQzE0LjgzMzA4MTYsMzYuNTg5OTI5MyA0My4zMzg1Njg0LDI0LjYyNjQwNzMgNzUuOTc4NDU3OSwyNC42MjY0MDczIEw3NS45Nzg0NTc5LDI0LjYyNjQwNzMgWiIgLz4KICA8L2c+Cjwvc3ZnPgo=);
+  --jp-icon-jupyter: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzkiIGhlaWdodD0iNTEiIHZpZXdCb3g9IjAgMCAzOSA1MSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMTYzOCAtMjI4MSkiPgogICAgPGcgY2xhc3M9ImpwLWljb24td2FybjAiIGZpbGw9IiNGMzc3MjYiPgogICAgICA8cGF0aCB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNjM5Ljc0IDIzMTEuOTgpIiBkPSJNIDE4LjI2NDYgNy4xMzQxMUMgMTAuNDE0NSA3LjEzNDExIDMuNTU4NzIgNC4yNTc2IDAgMEMgMS4zMjUzOSAzLjgyMDQgMy43OTU1NiA3LjEzMDgxIDcuMDY4NiA5LjQ3MzAzQyAxMC4zNDE3IDExLjgxNTIgMTQuMjU1NyAxMy4wNzM0IDE4LjI2OSAxMy4wNzM0QyAyMi4yODIzIDEzLjA3MzQgMjYuMTk2MyAxMS44MTUyIDI5LjQ2OTQgOS40NzMwM0MgMzIuNzQyNCA3LjEzMDgxIDM1LjIxMjYgMy44MjA0IDM2LjUzOCAwQyAzMi45NzA1IDQuMjU3NiAyNi4xMTQ4IDcuMTM0MTEgMTguMjY0NiA3LjEzNDExWiIvPgogICAgICA8cGF0aCB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNjM5LjczIDIyODUuNDgpIiBkPSJNIDE4LjI3MzMgNS45MzkzMUMgMjYuMTIzNSA1LjkzOTMxIDMyLjk3OTMgOC44MTU4MyAzNi41MzggMTMuMDczNEMgMzUuMjEyNiA5LjI1MzAzIDMyLjc0MjQgNS45NDI2MiAyOS40Njk0IDMuNjAwNEMgMjYuMTk2MyAxLjI1ODE4IDIyLjI4MjMgMCAxOC4yNjkgMEMgMTQuMjU1NyAwIDEwLjM0MTcgMS4yNTgxOCA3LjA2ODYgMy42MDA0QyAzLjc5NTU2IDUuOTQyNjIgMS4zMjUzOSA5LjI1MzAzIDAgMTMuMDczNEMgMy41Njc0NSA4LjgyNDYzIDEwLjQyMzIgNS45MzkzMSAxOC4yNzMzIDUuOTM5MzFaIi8+CiAgICA8L2c+CiAgICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgICA8cGF0aCB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNjY5LjMgMjI4MS4zMSkiIGQ9Ik0gNS44OTM1MyAyLjg0NEMgNS45MTg4OSAzLjQzMTY1IDUuNzcwODUgNC4wMTM2NyA1LjQ2ODE1IDQuNTE2NDVDIDUuMTY1NDUgNS4wMTkyMiA0LjcyMTY4IDUuNDIwMTUgNC4xOTI5OSA1LjY2ODUxQyAzLjY2NDMgNS45MTY4OCAzLjA3NDQ0IDYuMDAxNTEgMi40OTgwNSA1LjkxMTcxQyAxLjkyMTY2IDUuODIxOSAxLjM4NDYzIDUuNTYxNyAwLjk1NDg5OCA1LjE2NDAxQyAwLjUyNTE3IDQuNzY2MzMgMC4yMjIwNTYgNC4yNDkwMyAwLjA4MzkwMzcgMy42Nzc1N0MgLTAuMDU0MjQ4MyAzLjEwNjExIC0wLjAyMTIzIDIuNTA2MTcgMC4xNzg3ODEgMS45NTM2NEMgMC4zNzg3OTMgMS40MDExIDAuNzM2ODA5IDAuOTIwODE3IDEuMjA3NTQgMC41NzM1MzhDIDEuNjc4MjYgMC4yMjYyNTkgMi4yNDA1NSAwLjAyNzU5MTkgMi44MjMyNiAwLjAwMjY3MjI5QyAzLjYwMzg5IC0wLjAzMDcxMTUgNC4zNjU3MyAwLjI0OTc4OSA0Ljk0MTQyIDAuNzgyNTUxQyA1LjUxNzExIDEuMzE1MzEgNS44NTk1NiAyLjA1Njc2IDUuODkzNTMgMi44NDRaIi8+CiAgICAgIDxwYXRoIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE2MzkuOCAyMzIzLjgxKSIgZD0iTSA3LjQyNzg5IDMuNTgzMzhDIDcuNDYwMDggNC4zMjQzIDcuMjczNTUgNS4wNTgxOSA2Ljg5MTkzIDUuNjkyMTNDIDYuNTEwMzEgNi4zMjYwNyA1Ljk1MDc1IDYuODMxNTYgNS4yODQxMSA3LjE0NDZDIDQuNjE3NDcgNy40NTc2MyAzLjg3MzcxIDcuNTY0MTQgMy4xNDcwMiA3LjQ1MDYzQyAyLjQyMDMyIDcuMzM3MTIgMS43NDMzNiA3LjAwODcgMS4yMDE4NCA2LjUwNjk1QyAwLjY2MDMyOCA2LjAwNTIgMC4yNzg2MSA1LjM1MjY4IDAuMTA1MDE3IDQuNjMyMDJDIC0wLjA2ODU3NTcgMy45MTEzNSAtMC4wMjYyMzYxIDMuMTU0OTQgMC4yMjY2NzUgMi40NTg1NkMgMC40Nzk1ODcgMS43NjIxNyAwLjkzMTY5NyAxLjE1NzEzIDEuNTI1NzYgMC43MjAwMzNDIDIuMTE5ODMgMC4yODI5MzUgMi44MjkxNCAwLjAzMzQzOTUgMy41NjM4OSAwLjAwMzEzMzQ0QyA0LjU0NjY3IC0wLjAzNzQwMzMgNS41MDUyOSAwLjMxNjcwNiA2LjIyOTYxIDAuOTg3ODM1QyA2Ljk1MzkzIDEuNjU4OTYgNy4zODQ4NCAyLjU5MjM1IDcuNDI3ODkgMy41ODMzOEwgNy40Mjc4OSAzLjU4MzM4WiIvPgogICAgICA8cGF0aCB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNjM4LjM2IDIyODYuMDYpIiBkPSJNIDIuMjc0NzEgNC4zOTYyOUMgMS44NDM2MyA0LjQxNTA4IDEuNDE2NzEgNC4zMDQ0NSAxLjA0Nzk5IDQuMDc4NDNDIDAuNjc5MjY4IDMuODUyNCAwLjM4NTMyOCAzLjUyMTE0IDAuMjAzMzcxIDMuMTI2NTZDIDAuMDIxNDEzNiAyLjczMTk4IC0wLjA0MDM3OTggMi4yOTE4MyAwLjAyNTgxMTYgMS44NjE4MUMgMC4wOTIwMDMxIDEuNDMxOCAwLjI4MzIwNCAxLjAzMTI2IDAuNTc1MjEzIDAuNzEwODgzQyAwLjg2NzIyMiAwLjM5MDUxIDEuMjQ2OTEgMC4xNjQ3MDggMS42NjYyMiAwLjA2MjA1OTJDIDIuMDg1NTMgLTAuMDQwNTg5NyAyLjUyNTYxIC0wLjAxNTQ3MTQgMi45MzA3NiAwLjEzNDIzNUMgMy4zMzU5MSAwLjI4Mzk0MSAzLjY4NzkyIDAuNTUxNTA1IDMuOTQyMjIgMC45MDMwNkMgNC4xOTY1MiAxLjI1NDYyIDQuMzQxNjkgMS42NzQzNiA0LjM1OTM1IDIuMTA5MTZDIDQuMzgyOTkgMi42OTEwNyA0LjE3Njc4IDMuMjU4NjkgMy43ODU5NyAzLjY4NzQ2QyAzLjM5NTE2IDQuMTE2MjQgMi44NTE2NiA0LjM3MTE2IDIuMjc0NzEgNC4zOTYyOUwgMi4yNzQ3MSA0LjM5NjI5WiIvPgogICAgPC9nPgogIDwvZz4+Cjwvc3ZnPgo=);
+  --jp-icon-jupyterlab-wordmark: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMDAiIHZpZXdCb3g9IjAgMCAxODYwLjggNDc1Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjIiIGZpbGw9IiM0RTRFNEUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDQ4MC4xMzY0MDEsIDY0LjI3MTQ5MykiPgogICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC4wMDAwMDAsIDU4Ljg3NTU2NikiPgogICAgICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLjA4NzYwMywgMC4xNDAyOTQpIj4KICAgICAgICA8cGF0aCBkPSJNLTQyNi45LDE2OS44YzAsNDguNy0zLjcsNjQuNy0xMy42LDc2LjRjLTEwLjgsMTAtMjUsMTUuNS0zOS43LDE1LjVsMy43LDI5IGMyMi44LDAuMyw0NC44LTcuOSw2MS45LTIzLjFjMTcuOC0xOC41LDI0LTQ0LjEsMjQtODMuM1YwSC00Mjd2MTcwLjFMLTQyNi45LDE2OS44TC00MjYuOSwxNjkuOHoiLz4KICAgICAgPC9nPgogICAgPC9nPgogICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTU1LjA0NTI5NiwgNTYuODM3MTA0KSI+CiAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEuNTYyNDUzLCAxLjc5OTg0MikiPgogICAgICAgIDxwYXRoIGQ9Ik0tMzEyLDE0OGMwLDIxLDAsMzkuNSwxLjcsNTUuNGgtMzEuOGwtMi4xLTMzLjNoLTAuOGMtNi43LDExLjYtMTYuNCwyMS4zLTI4LDI3LjkgYy0xMS42LDYuNi0yNC44LDEwLTM4LjIsOS44Yy0zMS40LDAtNjktMTcuNy02OS04OVYwaDM2LjR2MTEyLjdjMCwzOC43LDExLjYsNjQuNyw0NC42LDY0LjdjMTAuMy0wLjIsMjAuNC0zLjUsMjguOS05LjQgYzguNS01LjksMTUuMS0xNC4zLDE4LjktMjMuOWMyLjItNi4xLDMuMy0xMi41LDMuMy0xOC45VjAuMmgzNi40VjE0OEgtMzEyTC0zMTIsMTQ4eiIvPgogICAgICA8L2c+CiAgICA8L2c+CiAgICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzOTAuMDEzMzIyLCA1My40Nzk2MzgpIj4KICAgICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMS43MDY0NTgsIDAuMjMxNDI1KSI+CiAgICAgICAgPHBhdGggZD0iTS00NzguNiw3MS40YzAtMjYtMC44LTQ3LTEuNy02Ni43aDMyLjdsMS43LDM0LjhoMC44YzcuMS0xMi41LDE3LjUtMjIuOCwzMC4xLTI5LjcgYzEyLjUtNywyNi43LTEwLjMsNDEtOS44YzQ4LjMsMCw4NC43LDQxLjcsODQuNywxMDMuM2MwLDczLjEtNDMuNywxMDkuMi05MSwxMDkuMmMtMTIuMSwwLjUtMjQuMi0yLjItMzUtNy44IGMtMTAuOC01LjYtMTkuOS0xMy45LTI2LjYtMjQuMmgtMC44VjI5MWgtMzZ2LTIyMEwtNDc4LjYsNzEuNEwtNDc4LjYsNzEuNHogTS00NDIuNiwxMjUuNmMwLjEsNS4xLDAuNiwxMC4xLDEuNywxNS4xIGMzLDEyLjMsOS45LDIzLjMsMTkuOCwzMS4xYzkuOSw3LjgsMjIuMSwxMi4xLDM0LjcsMTIuMWMzOC41LDAsNjAuNy0zMS45LDYwLjctNzguNWMwLTQwLjctMjEuMS03NS42LTU5LjUtNzUuNiBjLTEyLjksMC40LTI1LjMsNS4xLTM1LjMsMTMuNGMtOS45LDguMy0xNi45LDE5LjctMTkuNiwzMi40Yy0xLjUsNC45LTIuMywxMC0yLjUsMTUuMVYxMjUuNkwtNDQyLjYsMTI1LjZMLTQ0Mi42LDEyNS42eiIvPgogICAgICA8L2c+CiAgICA8L2c+CiAgICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg2MDYuNzQwNzI2LCA1Ni44MzcxMDQpIj4KICAgICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC43NTEyMjYsIDEuOTg5Mjk5KSI+CiAgICAgICAgPHBhdGggZD0iTS00NDAuOCwwbDQzLjcsMTIwLjFjNC41LDEzLjQsOS41LDI5LjQsMTIuOCw0MS43aDAuOGMzLjctMTIuMiw3LjktMjcuNywxMi44LTQyLjQgbDM5LjctMTE5LjJoMzguNUwtMzQ2LjksMTQ1Yy0yNiw2OS43LTQzLjcsMTA1LjQtNjguNiwxMjcuMmMtMTIuNSwxMS43LTI3LjksMjAtNDQuNiwyMy45bC05LjEtMzEuMSBjMTEuNy0zLjksMjIuNS0xMC4xLDMxLjgtMTguMWMxMy4yLTExLjEsMjMuNy0yNS4yLDMwLjYtNDEuMmMxLjUtMi44LDIuNS01LjcsMi45LTguOGMtMC4zLTMuMy0xLjItNi42LTIuNS05LjdMLTQ4MC4yLDAuMSBoMzkuN0wtNDQwLjgsMEwtNDQwLjgsMHoiLz4KICAgICAgPC9nPgogICAgPC9nPgogICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoODIyLjc0ODEwNCwgMC4wMDAwMDApIj4KICAgICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMS40NjQwNTAsIDAuMzc4OTE0KSI+CiAgICAgICAgPHBhdGggZD0iTS00MTMuNywwdjU4LjNoNTJ2MjguMmgtNTJWMTk2YzAsMjUsNywzOS41LDI3LjMsMzkuNWM3LjEsMC4xLDE0LjItMC43LDIxLjEtMi41IGwxLjcsMjcuN2MtMTAuMywzLjctMjEuMyw1LjQtMzIuMiw1Yy03LjMsMC40LTE0LjYtMC43LTIxLjMtMy40Yy02LjgtMi43LTEyLjktNi44LTE3LjktMTIuMWMtMTAuMy0xMC45LTE0LjEtMjktMTQuMS01Mi45IFY4Ni41aC0zMVY1OC4zaDMxVjkuNkwtNDEzLjcsMEwtNDEzLjcsMHoiLz4KICAgICAgPC9nPgogICAgPC9nPgogICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoOTc0LjQzMzI4NiwgNTMuNDc5NjM4KSI+CiAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAuOTkwMDM0LCAwLjYxMDMzOSkiPgogICAgICAgIDxwYXRoIGQ9Ik0tNDQ1LjgsMTEzYzAuOCw1MCwzMi4yLDcwLjYsNjguNiw3MC42YzE5LDAuNiwzNy45LTMsNTUuMy0xMC41bDYuMiwyNi40IGMtMjAuOSw4LjktNDMuNSwxMy4xLTY2LjIsMTIuNmMtNjEuNSwwLTk4LjMtNDEuMi05OC4zLTEwMi41Qy00ODAuMiw0OC4yLTQ0NC43LDAtMzg2LjUsMGM2NS4yLDAsODIuNyw1OC4zLDgyLjcsOTUuNyBjLTAuMSw1LjgtMC41LDExLjUtMS4yLDE3LjJoLTE0MC42SC00NDUuOEwtNDQ1LjgsMTEzeiBNLTMzOS4yLDg2LjZjMC40LTIzLjUtOS41LTYwLjEtNTAuNC02MC4xIGMtMzYuOCwwLTUyLjgsMzQuNC01NS43LDYwLjFILTMzOS4yTC0zMzkuMiw4Ni42TC0zMzkuMiw4Ni42eiIvPgogICAgICA8L2c+CiAgICA8L2c+CiAgICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMjAxLjk2MTA1OCwgNTMuNDc5NjM4KSI+CiAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEuMTc5NjQwLCAwLjcwNTA2OCkiPgogICAgICAgIDxwYXRoIGQ9Ik0tNDc4LjYsNjhjMC0yMy45LTAuNC00NC41LTEuNy02My40aDMxLjhsMS4yLDM5LjloMS43YzkuMS0yNy4zLDMxLTQ0LjUsNTUuMy00NC41IGMzLjUtMC4xLDcsMC40LDEwLjMsMS4ydjM0LjhjLTQuMS0wLjktOC4yLTEuMy0xMi40LTEuMmMtMjUuNiwwLTQzLjcsMTkuNy00OC43LDQ3LjRjLTEsNS43LTEuNiwxMS41LTEuNywxNy4ydjEwOC4zaC0zNlY2OCBMLTQ3OC42LDY4eiIvPgogICAgICA8L2c+CiAgICA8L2c+CiAgPC9nPgoKICA8ZyBjbGFzcz0ianAtaWNvbi13YXJuMCIgZmlsbD0iI0YzNzcyNiI+CiAgICA8cGF0aCBkPSJNMTM1Mi4zLDMyNi4yaDM3VjI4aC0zN1YzMjYuMnogTTE2MDQuOCwzMjYuMmMtMi41LTEzLjktMy40LTMxLjEtMy40LTQ4Ljd2LTc2IGMwLTQwLjctMTUuMS04My4xLTc3LjMtODMuMWMtMjUuNiwwLTUwLDcuMS02Ni44LDE4LjFsOC40LDI0LjRjMTQuMy05LjIsMzQtMTUuMSw1My0xNS4xYzQxLjYsMCw0Ni4yLDMwLjIsNDYuMiw0N3Y0LjIgYy03OC42LTAuNC0xMjIuMywyNi41LTEyMi4zLDc1LjZjMCwyOS40LDIxLDU4LjQsNjIuMiw1OC40YzI5LDAsNTAuOS0xNC4zLDYyLjItMzAuMmgxLjNsMi45LDI1LjZIMTYwNC44eiBNMTU2NS43LDI1Ny43IGMwLDMuOC0wLjgsOC0yLjEsMTEuOGMtNS45LDE3LjItMjIuNywzNC00OS4yLDM0Yy0xOC45LDAtMzQuOS0xMS4zLTM0LjktMzUuM2MwLTM5LjUsNDUuOC00Ni42LDg2LjItNDUuOFYyNTcuN3ogTTE2OTguNSwzMjYuMiBsMS43LTMzLjZoMS4zYzE1LjEsMjYuOSwzOC43LDM4LjIsNjguMSwzOC4yYzQ1LjQsMCw5MS4yLTM2LjEsOTEuMi0xMDguOGMwLjQtNjEuNy0zNS4zLTEwMy43LTg1LjctMTAzLjcgYy0zMi44LDAtNTYuMywxNC43LTY5LjMsMzcuNGgtMC44VjI4aC0zNi42djI0NS43YzAsMTguMS0wLjgsMzguNi0xLjcsNTIuNUgxNjk4LjV6IE0xNzA0LjgsMjA4LjJjMC01LjksMS4zLTEwLjksMi4xLTE1LjEgYzcuNi0yOC4xLDMxLjEtNDUuNCw1Ni4zLTQ1LjRjMzkuNSwwLDYwLjUsMzQuOSw2MC41LDc1LjZjMCw0Ni42LTIzLjEsNzguMS02MS44LDc4LjFjLTI2LjksMC00OC4zLTE3LjYtNTUuNS00My4zIGMtMC44LTQuMi0xLjctOC44LTEuNy0xMy40VjIwOC4yeiIvPgogIDwvZz4KPC9zdmc+Cg==);
+  --jp-icon-kernel: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICAgIDxwYXRoIGNsYXNzPSJqcC1pY29uMiIgZmlsbD0iIzYxNjE2MSIgZD0iTTE1IDlIOXY2aDZWOXptLTIgNGgtMnYtMmgydjJ6bTgtMlY5aC0yVjdjMC0xLjEtLjktMi0yLTJoLTJWM2gtMnYyaC0yVjNIOXYySDdjLTEuMSAwLTIgLjktMiAydjJIM3YyaDJ2MkgzdjJoMnYyYzAgMS4xLjkgMiAyIDJoMnYyaDJ2LTJoMnYyaDJ2LTJoMmMxLjEgMCAyLS45IDItMnYtMmgydi0yaC0ydi0yaDJ6bS00IDZIN1Y3aDEwdjEweiIvPgo8L3N2Zz4K);
+  --jp-icon-keyboard: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNjE2MTYxIiBkPSJNMjAgNUg0Yy0xLjEgMC0xLjk5LjktMS45OSAyTDIgMTdjMCAxLjEuOSAyIDIgMmgxNmMxLjEgMCAyLS45IDItMlY3YzAtMS4xLS45LTItMi0yem0tOSAzaDJ2MmgtMlY4em0wIDNoMnYyaC0ydi0yek04IDhoMnYySDhWOHptMCAzaDJ2Mkg4di0yem0tMSAySDV2LTJoMnYyem0wLTNINVY4aDJ2MnptOSA3SDh2LTJoOHYyem0wLTRoLTJ2LTJoMnYyem0wLTNoLTJWOGgydjJ6bTMgM2gtMnYtMmgydjJ6bTAtM2gtMlY4aDJ2MnoiLz4KPC9zdmc+Cg==);
+  --jp-icon-launcher: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNjE2MTYxIiBkPSJNMTkgMTlINVY1aDdWM0g1YTIgMiAwIDAwLTIgMnYxNGEyIDIgMCAwMDIgMmgxNGMxLjEgMCAyLS45IDItMnYtN2gtMnY3ek0xNCAzdjJoMy41OWwtOS44MyA5LjgzIDEuNDEgMS40MUwxOSA2LjQxVjEwaDJWM2gtN3oiLz4KPC9zdmc+Cg==);
+  --jp-icon-line-form: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICAgIDxwYXRoIGZpbGw9IndoaXRlIiBkPSJNNS44OCA0LjEyTDEzLjc2IDEybC03Ljg4IDcuODhMOCAyMmwxMC0xMEw4IDJ6Ii8+Cjwvc3ZnPgo=);
+  --jp-icon-link: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTMuOSAxMmMwLTEuNzEgMS4zOS0zLjEgMy4xLTMuMWg0VjdIN2MtMi43NiAwLTUgMi4yNC01IDVzMi4yNCA1IDUgNWg0di0xLjlIN2MtMS43MSAwLTMuMS0xLjM5LTMuMS0zLjF6TTggMTNoOHYtMkg4djJ6bTktNmgtNHYxLjloNGMxLjcxIDAgMy4xIDEuMzkgMy4xIDMuMXMtMS4zOSAzLjEtMy4xIDMuMWgtNFYxN2g0YzIuNzYgMCA1LTIuMjQgNS01cy0yLjI0LTUtNS01eiIvPgogIDwvZz4KPC9zdmc+Cg==);
+  --jp-icon-list: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICAgIDxwYXRoIGNsYXNzPSJqcC1pY29uMiBqcC1pY29uLXNlbGVjdGFibGUiIGZpbGw9IiM2MTYxNjEiIGQ9Ik0xOSA1djE0SDVWNWgxNG0xLjEtMkgzLjljLS41IDAtLjkuNC0uOS45djE2LjJjMCAuNC40LjkuOS45aDE2LjJjLjQgMCAuOS0uNS45LS45VjMuOWMwLS41LS41LS45LS45LS45ek0xMSA3aDZ2MmgtNlY3em0wIDRoNnYyaC02di0yem0wIDRoNnYyaC02ek03IDdoMnYySDd6bTAgNGgydjJIN3ptMCA0aDJ2Mkg3eiIvPgo8L3N2Zz4=);
+  --jp-icon-listings-info: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pg0KPHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJDYXBhXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgNTAuOTc4IDUwLjk3OCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNTAuOTc4IDUwLjk3ODsiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPGc+DQoJPGc+DQoJCTxnPg0KCQkJPHBhdGggc3R5bGU9ImZpbGw6IzAxMDAwMjsiIGQ9Ik00My41Miw3LjQ1OEMzOC43MTEsMi42NDgsMzIuMzA3LDAsMjUuNDg5LDBDMTguNjcsMCwxMi4yNjYsMi42NDgsNy40NTgsNy40NTgNCgkJCQljLTkuOTQzLDkuOTQxLTkuOTQzLDI2LjExOSwwLDM2LjA2MmM0LjgwOSw0LjgwOSwxMS4yMTIsNy40NTYsMTguMDMxLDcuNDU4YzAsMCwwLjAwMSwwLDAuMDAyLDANCgkJCQljNi44MTYsMCwxMy4yMjEtMi42NDgsMTguMDI5LTcuNDU4YzQuODA5LTQuODA5LDcuNDU3LTExLjIxMiw3LjQ1Ny0xOC4wM0M1MC45NzcsMTguNjcsNDguMzI4LDEyLjI2Niw0My41Miw3LjQ1OHoNCgkJCQkgTTQyLjEwNiw0Mi4xMDVjLTQuNDMyLDQuNDMxLTEwLjMzMiw2Ljg3Mi0xNi42MTUsNi44NzJoLTAuMDAyYy02LjI4NS0wLjAwMS0xMi4xODctMi40NDEtMTYuNjE3LTYuODcyDQoJCQkJYy05LjE2Mi05LjE2My05LjE2Mi0yNC4wNzEsMC0zMy4yMzNDMTMuMzAzLDQuNDQsMTkuMjA0LDIsMjUuNDg5LDJjNi4yODQsMCwxMi4xODYsMi40NCwxNi42MTcsNi44NzINCgkJCQljNC40MzEsNC40MzEsNi44NzEsMTAuMzMyLDYuODcxLDE2LjYxN0M0OC45NzcsMzEuNzcyLDQ2LjUzNiwzNy42NzUsNDIuMTA2LDQyLjEwNXoiLz4NCgkJPC9nPg0KCQk8Zz4NCgkJCTxwYXRoIHN0eWxlPSJmaWxsOiMwMTAwMDI7IiBkPSJNMjMuNTc4LDMyLjIxOGMtMC4wMjMtMS43MzQsMC4xNDMtMy4wNTksMC40OTYtMy45NzJjMC4zNTMtMC45MTMsMS4xMS0xLjk5NywyLjI3Mi0zLjI1Mw0KCQkJCWMwLjQ2OC0wLjUzNiwwLjkyMy0xLjA2MiwxLjM2Ny0xLjU3NWMwLjYyNi0wLjc1MywxLjEwNC0xLjQ3OCwxLjQzNi0yLjE3NWMwLjMzMS0wLjcwNywwLjQ5NS0xLjU0MSwwLjQ5NS0yLjUNCgkJCQljMC0xLjA5Ni0wLjI2LTIuMDg4LTAuNzc5LTIuOTc5Yy0wLjU2NS0wLjg3OS0xLjUwMS0xLjMzNi0yLjgwNi0xLjM2OWMtMS44MDIsMC4wNTctMi45ODUsMC42NjctMy41NSwxLjgzMg0KCQkJCWMtMC4zMDEsMC41MzUtMC41MDMsMS4xNDEtMC42MDcsMS44MTRjLTAuMTM5LDAuNzA3LTAuMjA3LDEuNDMyLTAuMjA3LDIuMTc0aC0yLjkzN2MtMC4wOTEtMi4yMDgsMC40MDctNC4xMTQsMS40OTMtNS43MTkNCgkJCQljMS4wNjItMS42NCwyLjg1NS0yLjQ4MSw1LjM3OC0yLjUyN2MyLjE2LDAuMDIzLDMuODc0LDAuNjA4LDUuMTQxLDEuNzU4YzEuMjc4LDEuMTYsMS45MjksMi43NjQsMS45NSw0LjgxMQ0KCQkJCWMwLDEuMTQyLTAuMTM3LDIuMTExLTAuNDEsMi45MTFjLTAuMzA5LDAuODQ1LTAuNzMxLDEuNTkzLTEuMjY4LDIuMjQzYy0wLjQ5MiwwLjY1LTEuMDY4LDEuMzE4LTEuNzMsMi4wMDINCgkJCQljLTAuNjUsMC42OTctMS4zMTMsMS40NzktMS45ODcsMi4zNDZjLTAuMjM5LDAuMzc3LTAuNDI5LDAuNzc3LTAuNTY1LDEuMTk5Yy0wLjE2LDAuOTU5LTAuMjE3LDEuOTUxLTAuMTcxLDIuOTc5DQoJCQkJQzI2LjU4OSwzMi4yMTgsMjMuNTc4LDMyLjIxOCwyMy41NzgsMzIuMjE4eiBNMjMuNTc4LDM4LjIydi0zLjQ4NGgzLjA3NnYzLjQ4NEgyMy41Nzh6Ii8+DQoJCTwvZz4NCgk8L2c+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8L3N2Zz4NCg==);
+  --jp-icon-markdown: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIyIDIyIj4KICA8cGF0aCBjbGFzcz0ianAtaWNvbi1jb250cmFzdDAganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjN0IxRkEyIiBkPSJNNSAxNC45aDEybC02LjEgNnptOS40LTYuOGMwLTEuMy0uMS0yLjktLjEtNC41LS40IDEuNC0uOSAyLjktMS4zIDQuM2wtMS4zIDQuM2gtMkw4LjUgNy45Yy0uNC0xLjMtLjctMi45LTEtNC4zLS4xIDEuNi0uMSAzLjItLjIgNC42TDcgMTIuNEg0LjhsLjctMTFoMy4zTDEwIDVjLjQgMS4yLjcgMi43IDEgMy45LjMtMS4yLjctMi42IDEtMy45bDEuMi0zLjdoMy4zbC42IDExaC0yLjRsLS4zLTQuMnoiLz4KPC9zdmc+Cg==);
+  --jp-icon-new-folder: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTIwIDZoLThsLTItMkg0Yy0xLjExIDAtMS45OS44OS0xLjk5IDJMMiAxOGMwIDEuMTEuODkgMiAyIDJoMTZjMS4xMSAwIDItLjg5IDItMlY4YzAtMS4xMS0uODktMi0yLTJ6bS0xIDhoLTN2M2gtMnYtM2gtM3YtMmgzVjloMnYzaDN2MnoiLz4KICA8L2c+Cjwvc3ZnPgo=);
+  --jp-icon-not-trusted: url(data:image/svg+xml;base64,PHN2ZyBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI1IDI1Ij4KICAgIDxwYXRoIGNsYXNzPSJqcC1pY29uMiIgc3Ryb2tlPSIjMzMzMzMzIiBzdHJva2Utd2lkdGg9IjIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDMgMykiIGQ9Ik0xLjg2MDk0IDExLjQ0MDlDMC44MjY0NDggOC43NzAyNyAwLjg2Mzc3OSA2LjA1NzY0IDEuMjQ5MDcgNC4xOTkzMkMyLjQ4MjA2IDMuOTMzNDcgNC4wODA2OCAzLjQwMzQ3IDUuNjAxMDIgMi44NDQ5QzcuMjM1NDkgMi4yNDQ0IDguODU2NjYgMS41ODE1IDkuOTg3NiAxLjA5NTM5QzExLjA1OTcgMS41ODM0MSAxMi42MDk0IDIuMjQ0NCAxNC4yMTggMi44NDMzOUMxNS43NTAzIDMuNDEzOTQgMTcuMzk5NSAzLjk1MjU4IDE4Ljc1MzkgNC4yMTM4NUMxOS4xMzY0IDYuMDcxNzcgMTkuMTcwOSA4Ljc3NzIyIDE4LjEzOSAxMS40NDA5QzE3LjAzMDMgMTQuMzAzMiAxNC42NjY4IDE3LjE4NDQgOS45OTk5OSAxOC45MzU0QzUuMzMzMTkgMTcuMTg0NCAyLjk2OTY4IDE0LjMwMzIgMS44NjA5NCAxMS40NDA5WiIvPgogICAgPHBhdGggY2xhc3M9ImpwLWljb24yIiBzdHJva2U9IiMzMzMzMzMiIHN0cm9rZS13aWR0aD0iMiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoOS4zMTU5MiA5LjMyMDMxKSIgZD0iTTcuMzY4NDIgMEwwIDcuMzY0NzkiLz4KICAgIDxwYXRoIGNsYXNzPSJqcC1pY29uMiIgc3Ryb2tlPSIjMzMzMzMzIiBzdHJva2Utd2lkdGg9IjIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDkuMzE1OTIgMTYuNjgzNikgc2NhbGUoMSAtMSkiIGQ9Ik03LjM2ODQyIDBMMCA3LjM2NDc5Ii8+Cjwvc3ZnPgo=);
+  --jp-icon-notebook: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIyIDIyIj4KICA8ZyBjbGFzcz0ianAtaWNvbi13YXJuMCBqcC1pY29uLXNlbGVjdGFibGUiIGZpbGw9IiNFRjZDMDAiPgogICAgPHBhdGggZD0iTTE4LjcgMy4zdjE1LjRIMy4zVjMuM2gxNS40bTEuNS0xLjVIMS44djE4LjNoMTguM2wuMS0xOC4zeiIvPgogICAgPHBhdGggZD0iTTE2LjUgMTYuNWwtNS40LTQuMy01LjYgNC4zdi0xMWgxMXoiLz4KICA8L2c+Cjwvc3ZnPgo=);
+  --jp-icon-numbering: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjIiIGhlaWdodD0iMjIiIHZpZXdCb3g9IjAgMCAyOCAyOCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KCTxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CgkJPHBhdGggZD0iTTQgMTlINlYxOS41SDVWMjAuNUg2VjIxSDRWMjJIN1YxOEg0VjE5Wk01IDEwSDZWNkg0VjdINVYxMFpNNCAxM0g1LjhMNCAxNS4xVjE2SDdWMTVINS4yTDcgMTIuOVYxMkg0VjEzWk05IDdWOUgyM1Y3SDlaTTkgMjFIMjNWMTlIOVYyMVpNOSAxNUgyM1YxM0g5VjE1WiIvPgoJPC9nPgo8L3N2Zz4K);
+  --jp-icon-offline-bolt: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjE2Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTEyIDIuMDJjLTUuNTEgMC05Ljk4IDQuNDctOS45OCA5Ljk4czQuNDcgOS45OCA5Ljk4IDkuOTggOS45OC00LjQ3IDkuOTgtOS45OFMxNy41MSAyLjAyIDEyIDIuMDJ6TTExLjQ4IDIwdi02LjI2SDhMMTMgNHY2LjI2aDMuMzVMMTEuNDggMjB6Ii8+CiAgPC9nPgo8L3N2Zz4K);
+  --jp-icon-palette: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTE4IDEzVjIwSDRWNkg5LjAyQzkuMDcgNS4yOSA5LjI0IDQuNjIgOS41IDRINEMyLjkgNCAyIDQuOSAyIDZWMjBDMiAyMS4xIDIuOSAyMiA0IDIySDE4QzE5LjEgMjIgMjAgMjEuMSAyMCAyMFYxNUwxOCAxM1pNMTkuMyA4Ljg5QzE5Ljc0IDguMTkgMjAgNy4zOCAyMCA2LjVDMjAgNC4wMSAxNy45OSAyIDE1LjUgMkMxMy4wMSAyIDExIDQuMDEgMTEgNi41QzExIDguOTkgMTMuMDEgMTEgMTUuNDkgMTFDMTYuMzcgMTEgMTcuMTkgMTAuNzQgMTcuODggMTAuM0wyMSAxMy40MkwyMi40MiAxMkwxOS4zIDguODlaTTE1LjUgOUMxNC4xMiA5IDEzIDcuODggMTMgNi41QzEzIDUuMTIgMTQuMTIgNCAxNS41IDRDMTYuODggNCAxOCA1LjEyIDE4IDYuNUMxOCA3Ljg4IDE2Ljg4IDkgMTUuNSA5WiIvPgogICAgPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00IDZIOS4wMTg5NEM5LjAwNjM5IDYuMTY1MDIgOSA2LjMzMTc2IDkgNi41QzkgOC44MTU3NyAxMC4yMTEgMTAuODQ4NyAxMi4wMzQzIDEySDlWMTRIMTZWMTIuOTgxMUMxNi41NzAzIDEyLjkzNzcgMTcuMTIgMTIuODIwNyAxNy42Mzk2IDEyLjYzOTZMMTggMTNWMjBINFY2Wk04IDhINlYxMEg4VjhaTTYgMTJIOFYxNEg2VjEyWk04IDE2SDZWMThIOFYxNlpNOSAxNkgxNlYxOEg5VjE2WiIvPgogIDwvZz4KPC9zdmc+Cg==);
+  --jp-icon-paste: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CiAgICAgICAgPHBhdGggZD0iTTE5IDJoLTQuMThDMTQuNC44NCAxMy4zIDAgMTIgMGMtMS4zIDAtMi40Ljg0LTIuODIgMkg1Yy0xLjEgMC0yIC45LTIgMnYxNmMwIDEuMS45IDIgMiAyaDE0YzEuMSAwIDItLjkgMi0yVjRjMC0xLjEtLjktMi0yLTJ6bS03IDBjLjU1IDAgMSAuNDUgMSAxcy0uNDUgMS0xIDEtMS0uNDUtMS0xIC40NS0xIDEtMXptNyAxOEg1VjRoMnYzaDEwVjRoMnYxNnoiLz4KICAgIDwvZz4KPC9zdmc+Cg==);
+  --jp-icon-pdf: url(data:image/svg+xml;base64,PHN2ZwogICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMiAyMiIgd2lkdGg9IjE2Ij4KICAgIDxwYXRoIHRyYW5zZm9ybT0icm90YXRlKDQ1KSIgY2xhc3M9ImpwLWljb24tc2VsZWN0YWJsZSIgZmlsbD0iI0ZGMkEyQSIKICAgICAgIGQ9Im0gMjIuMzQ0MzY5LC0zLjAxNjM2NDIgaCA1LjYzODYwNCB2IDEuNTc5MjQzMyBoIC0zLjU0OTIyNyB2IDEuNTA4NjkyOTkgaCAzLjMzNzU3NiBWIDEuNjUwODE1NCBoIC0zLjMzNzU3NiB2IDMuNDM1MjYxMyBoIC0yLjA4OTM3NyB6IG0gLTcuMTM2NDQ0LDEuNTc5MjQzMyB2IDQuOTQzOTU0MyBoIDAuNzQ4OTIgcSAxLjI4MDc2MSwwIDEuOTUzNzAzLC0wLjYzNDk1MzUgMC42NzgzNjksLTAuNjM0OTUzNSAwLjY3ODM2OSwtMS44NDUxNjQxIDAsLTEuMjA0NzgzNTUgLTAuNjcyOTQyLC0xLjgzNDMxMDExIC0wLjY3Mjk0MiwtMC42Mjk1MjY1OSAtMS45NTkxMywtMC42Mjk1MjY1OSB6IG0gLTIuMDg5Mzc3LC0xLjU3OTI0MzMgaCAyLjIwMzM0MyBxIDEuODQ1MTY0LDAgMi43NDYwMzksMC4yNjU5MjA3IDAuOTA2MzAxLDAuMjYwNDkzNyAxLjU1MjEwOCwwLjg5MDAyMDMgMC41Njk4MywwLjU0ODEyMjMgMC44NDY2MDUsMS4yNjQ0ODAwNiAwLjI3Njc3NCwwLjcxNjM1NzgxIDAuMjc2Nzc0LDEuNjIyNjU4OTQgMCwwLjkxNzE1NTEgLTAuMjc2Nzc0LDEuNjM4OTM5OSAtMC4yNzY3NzUsMC43MTYzNTc4IC0wLjg0NjYwNSwxLjI2NDQ4IC0wLjY1MTIzNCwwLjYyOTUyNjYgLTEuNTYyOTYyLDAuODk1NDQ3MyAtMC45MTE3MjgsMC4yNjA0OTM3IC0yLjczNTE4NSwwLjI2MDQ5MzcgaCAtMi4yMDMzNDMgeiBtIC04LjE0NTg1NjUsMCBoIDMuNDY3ODIzIHEgMS41NDY2ODE2LDAgMi4zNzE1Nzg1LDAuNjg5MjIzIDAuODMwMzI0LDAuNjgzNzk2MSAwLjgzMDMyNCwxLjk1MzcwMzE0IDAsMS4yNzUzMzM5NyAtMC44MzAzMjQsMS45NjQ1NTcwNiBRIDkuOTg3MTk2MSwyLjI3NDkxNSA4LjQ0MDUxNDUsMi4yNzQ5MTUgSCA3LjA2MjA2ODQgViA1LjA4NjA3NjcgSCA0Ljk3MjY5MTUgWiBtIDIuMDg5Mzc2OSwxLjUxNDExOTkgdiAyLjI2MzAzOTQzIGggMS4xNTU5NDEgcSAwLjYwNzgxODgsMCAwLjkzODg2MjksLTAuMjkzMDU1NDcgMC4zMzEwNDQxLC0wLjI5ODQ4MjQxIDAuMzMxMDQ0MSwtMC44NDExNzc3MiAwLC0wLjU0MjY5NTMxIC0wLjMzMTA0NDEsLTAuODM1NzUwNzQgLTAuMzMxMDQ0MSwtMC4yOTMwNTU1IC0wLjkzODg2MjksLTAuMjkzMDU1NSB6IgovPgo8L3N2Zz4K);
+  --jp-icon-python: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIyIDIyIj4KICA8ZyBjbGFzcz0ianAtaWNvbi1icmFuZDAganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjMEQ0N0ExIj4KICAgIDxwYXRoIGQ9Ik0xMS4xIDYuOVY1LjhINi45YzAtLjUgMC0xLjMuMi0xLjYuNC0uNy44LTEuMSAxLjctMS40IDEuNy0uMyAyLjUtLjMgMy45LS4xIDEgLjEgMS45LjkgMS45IDEuOXY0LjJjMCAuNS0uOSAxLjYtMiAxLjZIOC44Yy0xLjUgMC0yLjQgMS40LTIuNCAyLjh2Mi4ySDQuN0MzLjUgMTUuMSAzIDE0IDMgMTMuMVY5Yy0uMS0xIC42LTIgMS44LTIgMS41LS4xIDYuMy0uMSA2LjMtLjF6Ii8+CiAgICA8cGF0aCBkPSJNMTAuOSAxNS4xdjEuMWg0LjJjMCAuNSAwIDEuMy0uMiAxLjYtLjQuNy0uOCAxLjEtMS43IDEuNC0xLjcuMy0yLjUuMy0zLjkuMS0xLS4xLTEuOS0uOS0xLjktMS45di00LjJjMC0uNS45LTEuNiAyLTEuNmgzLjhjMS41IDAgMi40LTEuNCAyLjQtMi44VjYuNmgxLjdDMTguNSA2LjkgMTkgOCAxOSA4LjlWMTNjMCAxLS43IDIuMS0xLjkgMi4xaC02LjJ6Ii8+CiAgPC9nPgo8L3N2Zz4K);
+  --jp-icon-r-kernel: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIyIDIyIj4KICA8cGF0aCBjbGFzcz0ianAtaWNvbi1jb250cmFzdDMganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjMjE5NkYzIiBkPSJNNC40IDIuNWMxLjItLjEgMi45LS4zIDQuOS0uMyAyLjUgMCA0LjEuNCA1LjIgMS4zIDEgLjcgMS41IDEuOSAxLjUgMy41IDAgMi0xLjQgMy41LTIuOSA0LjEgMS4yLjQgMS43IDEuNiAyLjIgMyAuNiAxLjkgMSAzLjkgMS4zIDQuNmgtMy44Yy0uMy0uNC0uOC0xLjctMS4yLTMuN3MtMS4yLTIuNi0yLjYtMi42aC0uOXY2LjRINC40VjIuNXptMy43IDYuOWgxLjRjMS45IDAgMi45LS45IDIuOS0yLjNzLTEtMi4zLTIuOC0yLjNjLS43IDAtMS4zIDAtMS42LjJ2NC41aC4xdi0uMXoiLz4KPC9zdmc+Cg==);
+  --jp-icon-react: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMTUwIDE1MCA1NDEuOSAyOTUuMyI+CiAgPGcgY2xhc3M9ImpwLWljb24tYnJhbmQyIGpwLWljb24tc2VsZWN0YWJsZSIgZmlsbD0iIzYxREFGQiI+CiAgICA8cGF0aCBkPSJNNjY2LjMgMjk2LjVjMC0zMi41LTQwLjctNjMuMy0xMDMuMS04Mi40IDE0LjQtNjMuNiA4LTExNC4yLTIwLjItMTMwLjQtNi41LTMuOC0xNC4xLTUuNi0yMi40LTUuNnYyMi4zYzQuNiAwIDguMy45IDExLjQgMi42IDEzLjYgNy44IDE5LjUgMzcuNSAxNC45IDc1LjctMS4xIDkuNC0yLjkgMTkuMy01LjEgMjkuNC0xOS42LTQuOC00MS04LjUtNjMuNS0xMC45LTEzLjUtMTguNS0yNy41LTM1LjMtNDEuNi01MCAzMi42LTMwLjMgNjMuMi00Ni45IDg0LTQ2LjlWNzhjLTI3LjUgMC02My41IDE5LjYtOTkuOSA1My42LTM2LjQtMzMuOC03Mi40LTUzLjItOTkuOS01My4ydjIyLjNjMjAuNyAwIDUxLjQgMTYuNSA4NCA0Ni42LTE0IDE0LjctMjggMzEuNC00MS4zIDQ5LjktMjIuNiAyLjQtNDQgNi4xLTYzLjYgMTEtMi4zLTEwLTQtMTkuNy01LjItMjktNC43LTM4LjIgMS4xLTY3LjkgMTQuNi03NS44IDMtMS44IDYuOS0yLjYgMTEuNS0yLjZWNzguNWMtOC40IDAtMTYgMS44LTIyLjYgNS42LTI4LjEgMTYuMi0zNC40IDY2LjctMTkuOSAxMzAuMS02Mi4yIDE5LjItMTAyLjcgNDkuOS0xMDIuNyA4Mi4zIDAgMzIuNSA0MC43IDYzLjMgMTAzLjEgODIuNC0xNC40IDYzLjYtOCAxMTQuMiAyMC4yIDEzMC40IDYuNSAzLjggMTQuMSA1LjYgMjIuNSA1LjYgMjcuNSAwIDYzLjUtMTkuNiA5OS45LTUzLjYgMzYuNCAzMy44IDcyLjQgNTMuMiA5OS45IDUzLjIgOC40IDAgMTYtMS44IDIyLjYtNS42IDI4LjEtMTYuMiAzNC40LTY2LjcgMTkuOS0xMzAuMSA2Mi0xOS4xIDEwMi41LTQ5LjkgMTAyLjUtODIuM3ptLTEzMC4yLTY2LjdjLTMuNyAxMi45LTguMyAyNi4yLTEzLjUgMzkuNS00LjEtOC04LjQtMTYtMTMuMS0yNC00LjYtOC05LjUtMTUuOC0xNC40LTIzLjQgMTQuMiAyLjEgMjcuOSA0LjcgNDEgNy45em0tNDUuOCAxMDYuNWMtNy44IDEzLjUtMTUuOCAyNi4zLTI0LjEgMzguMi0xNC45IDEuMy0zMCAyLTQ1LjIgMi0xNS4xIDAtMzAuMi0uNy00NS0xLjktOC4zLTExLjktMTYuNC0yNC42LTI0LjItMzgtNy42LTEzLjEtMTQuNS0yNi40LTIwLjgtMzkuOCA2LjItMTMuNCAxMy4yLTI2LjggMjAuNy0zOS45IDcuOC0xMy41IDE1LjgtMjYuMyAyNC4xLTM4LjIgMTQuOS0xLjMgMzAtMiA0NS4yLTIgMTUuMSAwIDMwLjIuNyA0NSAxLjkgOC4zIDExLjkgMTYuNCAyNC42IDI0LjIgMzggNy42IDEzLjEgMTQuNSAyNi40IDIwLjggMzkuOC02LjMgMTMuNC0xMy4yIDI2LjgtMjAuNyAzOS45em0zMi4zLTEzYzUuNCAxMy40IDEwIDI2LjggMTMuOCAzOS44LTEzLjEgMy4yLTI2LjkgNS45LTQxLjIgOCA0LjktNy43IDkuOC0xNS42IDE0LjQtMjMuNyA0LjYtOCA4LjktMTYuMSAxMy0yNC4xek00MjEuMiA0MzBjLTkuMy05LjYtMTguNi0yMC4zLTI3LjgtMzIgOSAuNCAxOC4yLjcgMjcuNS43IDkuNCAwIDE4LjctLjIgMjcuOC0uNy05IDExLjctMTguMyAyMi40LTI3LjUgMzJ6bS03NC40LTU4LjljLTE0LjItMi4xLTI3LjktNC43LTQxLTcuOSAzLjctMTIuOSA4LjMtMjYuMiAxMy41LTM5LjUgNC4xIDggOC40IDE2IDEzLjEgMjQgNC43IDggOS41IDE1LjggMTQuNCAyMy40ek00MjAuNyAxNjNjOS4zIDkuNiAxOC42IDIwLjMgMjcuOCAzMi05LS40LTE4LjItLjctMjcuNS0uNy05LjQgMC0xOC43LjItMjcuOC43IDktMTEuNyAxOC4zLTIyLjQgMjcuNS0zMnptLTc0IDU4LjljLTQuOSA3LjctOS44IDE1LjYtMTQuNCAyMy43LTQuNiA4LTguOSAxNi0xMyAyNC01LjQtMTMuNC0xMC0yNi44LTEzLjgtMzkuOCAxMy4xLTMuMSAyNi45LTUuOCA0MS4yLTcuOXptLTkwLjUgMTI1LjJjLTM1LjQtMTUuMS01OC4zLTM0LjktNTguMy01MC42IDAtMTUuNyAyMi45LTM1LjYgNTguMy01MC42IDguNi0zLjcgMTgtNyAyNy43LTEwLjEgNS43IDE5LjYgMTMuMiA0MCAyMi41IDYwLjktOS4yIDIwLjgtMTYuNiA0MS4xLTIyLjIgNjAuNi05LjktMy4xLTE5LjMtNi41LTI4LTEwLjJ6TTMxMCA0OTBjLTEzLjYtNy44LTE5LjUtMzcuNS0xNC45LTc1LjcgMS4xLTkuNCAyLjktMTkuMyA1LjEtMjkuNCAxOS42IDQuOCA0MSA4LjUgNjMuNSAxMC45IDEzLjUgMTguNSAyNy41IDM1LjMgNDEuNiA1MC0zMi42IDMwLjMtNjMuMiA0Ni45LTg0IDQ2LjktNC41LS4xLTguMy0xLTExLjMtMi43em0yMzcuMi03Ni4yYzQuNyAzOC4yLTEuMSA2Ny45LTE0LjYgNzUuOC0zIDEuOC02LjkgMi42LTExLjUgMi42LTIwLjcgMC01MS40LTE2LjUtODQtNDYuNiAxNC0xNC43IDI4LTMxLjQgNDEuMy00OS45IDIyLjYtMi40IDQ0LTYuMSA2My42LTExIDIuMyAxMC4xIDQuMSAxOS44IDUuMiAyOS4xem0zOC41LTY2LjdjLTguNiAzLjctMTggNy0yNy43IDEwLjEtNS43LTE5LjYtMTMuMi00MC0yMi41LTYwLjkgOS4yLTIwLjggMTYuNi00MS4xIDIyLjItNjAuNiA5LjkgMy4xIDE5LjMgNi41IDI4LjEgMTAuMiAzNS40IDE1LjEgNTguMyAzNC45IDU4LjMgNTAuNi0uMSAxNS43LTIzIDM1LjYtNTguNCA1MC42ek0zMjAuOCA3OC40eiIvPgogICAgPGNpcmNsZSBjeD0iNDIwLjkiIGN5PSIyOTYuNSIgcj0iNDUuNyIvPgogIDwvZz4KPC9zdmc+Cg==);
+  --jp-icon-redo: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjE2Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgICA8cGF0aCBkPSJNMCAwaDI0djI0SDB6IiBmaWxsPSJub25lIi8+PHBhdGggZD0iTTE4LjQgMTAuNkMxNi41NSA4Ljk5IDE0LjE1IDggMTEuNSA4Yy00LjY1IDAtOC41OCAzLjAzLTkuOTYgNy4yMkwzLjkgMTZjMS4wNS0zLjE5IDQuMDUtNS41IDcuNi01LjUgMS45NSAwIDMuNzMuNzIgNS4xMiAxLjg4TDEzIDE2aDlWN2wtMy42IDMuNnoiLz4KICA8L2c+Cjwvc3ZnPgo=);
+  --jp-icon-refresh: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDE4IDE4Ij4KICAgIDxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CiAgICAgICAgPHBhdGggZD0iTTkgMTMuNWMtMi40OSAwLTQuNS0yLjAxLTQuNS00LjVTNi41MSA0LjUgOSA0LjVjMS4yNCAwIDIuMzYuNTIgMy4xNyAxLjMzTDEwIDhoNVYzbC0xLjc2IDEuNzZDMTIuMTUgMy42OCAxMC42NiAzIDkgMyA1LjY5IDMgMy4wMSA1LjY5IDMuMDEgOVM1LjY5IDE1IDkgMTVjMi45NyAwIDUuNDMtMi4xNiA1LjktNWgtMS41MmMtLjQ2IDItMi4yNCAzLjUtNC4zOCAzLjV6Ii8+CiAgICA8L2c+Cjwvc3ZnPgo=);
+  --jp-icon-regex: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIwIDIwIj4KICA8ZyBjbGFzcz0ianAtaWNvbjIiIGZpbGw9IiM0MTQxNDEiPgogICAgPHJlY3QgeD0iMiIgeT0iMiIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2Ii8+CiAgPC9nPgoKICA8ZyBjbGFzcz0ianAtaWNvbi1hY2NlbnQyIiBmaWxsPSIjRkZGIj4KICAgIDxjaXJjbGUgY2xhc3M9InN0MiIgY3g9IjUuNSIgY3k9IjE0LjUiIHI9IjEuNSIvPgogICAgPHJlY3QgeD0iMTIiIHk9IjQiIGNsYXNzPSJzdDIiIHdpZHRoPSIxIiBoZWlnaHQ9IjgiLz4KICAgIDxyZWN0IHg9IjguNSIgeT0iNy41IiB0cmFuc2Zvcm09Im1hdHJpeCgwLjg2NiAtMC41IDAuNSAwLjg2NiAtMi4zMjU1IDcuMzIxOSkiIGNsYXNzPSJzdDIiIHdpZHRoPSI4IiBoZWlnaHQ9IjEiLz4KICAgIDxyZWN0IHg9IjEyIiB5PSI0IiB0cmFuc2Zvcm09Im1hdHJpeCgwLjUgLTAuODY2IDAuODY2IDAuNSAtMC42Nzc5IDE0LjgyNTIpIiBjbGFzcz0ic3QyIiB3aWR0aD0iMSIgaGVpZ2h0PSI4Ii8+CiAgPC9nPgo8L3N2Zz4K);
+  --jp-icon-run: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CiAgICAgICAgPHBhdGggZD0iTTggNXYxNGwxMS03eiIvPgogICAgPC9nPgo8L3N2Zz4K);
+  --jp-icon-running: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDUxMiA1MTIiPgogIDxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CiAgICA8cGF0aCBkPSJNMjU2IDhDMTE5IDggOCAxMTkgOCAyNTZzMTExIDI0OCAyNDggMjQ4IDI0OC0xMTEgMjQ4LTI0OFMzOTMgOCAyNTYgOHptOTYgMzI4YzAgOC44LTcuMiAxNi0xNiAxNkgxNzZjLTguOCAwLTE2LTcuMi0xNi0xNlYxNzZjMC04LjggNy4yLTE2IDE2LTE2aDE2MGM4LjggMCAxNiA3LjIgMTYgMTZ2MTYweiIvPgogIDwvZz4KPC9zdmc+Cg==);
+  --jp-icon-save: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CiAgICAgICAgPHBhdGggZD0iTTE3IDNINWMtMS4xMSAwLTIgLjktMiAydjE0YzAgMS4xLjg5IDIgMiAyaDE0YzEuMSAwIDItLjkgMi0yVjdsLTQtNHptLTUgMTZjLTEuNjYgMC0zLTEuMzQtMy0zczEuMzQtMyAzLTMgMyAxLjM0IDMgMy0xLjM0IDMtMyAzem0zLTEwSDVWNWgxMHY0eiIvPgogICAgPC9nPgo8L3N2Zz4K);
+  --jp-icon-search: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTEyLjEsMTAuOWgtMC43bC0wLjItMC4yYzAuOC0wLjksMS4zLTIuMiwxLjMtMy41YzAtMy0yLjQtNS40LTUuNC01LjRTMS44LDQuMiwxLjgsNy4xczIuNCw1LjQsNS40LDUuNCBjMS4zLDAsMi41LTAuNSwzLjUtMS4zbDAuMiwwLjJ2MC43bDQuMSw0LjFsMS4yLTEuMkwxMi4xLDEwLjl6IE03LjEsMTAuOWMtMi4xLDAtMy43LTEuNy0zLjctMy43czEuNy0zLjcsMy43LTMuN3MzLjcsMS43LDMuNywzLjcgUzkuMiwxMC45LDcuMSwxMC45eiIvPgogIDwvZz4KPC9zdmc+Cg==);
+  --jp-icon-settings: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNjE2MTYxIiBkPSJNMTkuNDMgMTIuOThjLjA0LS4zMi4wNy0uNjQuMDctLjk4cy0uMDMtLjY2LS4wNy0uOThsMi4xMS0xLjY1Yy4xOS0uMTUuMjQtLjQyLjEyLS42NGwtMi0zLjQ2Yy0uMTItLjIyLS4zOS0uMy0uNjEtLjIybC0yLjQ5IDFjLS41Mi0uNC0xLjA4LS43My0xLjY5LS45OGwtLjM4LTIuNjVBLjQ4OC40ODggMCAwMDE0IDJoLTRjLS4yNSAwLS40Ni4xOC0uNDkuNDJsLS4zOCAyLjY1Yy0uNjEuMjUtMS4xNy41OS0xLjY5Ljk4bC0yLjQ5LTFjLS4yMy0uMDktLjQ5IDAtLjYxLjIybC0yIDMuNDZjLS4xMy4yMi0uMDcuNDkuMTIuNjRsMi4xMSAxLjY1Yy0uMDQuMzItLjA3LjY1LS4wNy45OHMuMDMuNjYuMDcuOThsLTIuMTEgMS42NWMtLjE5LjE1LS4yNC40Mi0uMTIuNjRsMiAzLjQ2Yy4xMi4yMi4zOS4zLjYxLjIybDIuNDktMWMuNTIuNCAxLjA4LjczIDEuNjkuOThsLjM4IDIuNjVjLjAzLjI0LjI0LjQyLjQ5LjQyaDRjLjI1IDAgLjQ2LS4xOC40OS0uNDJsLjM4LTIuNjVjLjYxLS4yNSAxLjE3LS41OSAxLjY5LS45OGwyLjQ5IDFjLjIzLjA5LjQ5IDAgLjYxLS4yMmwyLTMuNDZjLjEyLS4yMi4wNy0uNDktLjEyLS42NGwtMi4xMS0xLjY1ek0xMiAxNS41Yy0xLjkzIDAtMy41LTEuNTctMy41LTMuNXMxLjU3LTMuNSAzLjUtMy41IDMuNSAxLjU3IDMuNSAzLjUtMS41NyAzLjUtMy41IDMuNXoiLz4KPC9zdmc+Cg==);
+  --jp-icon-spreadsheet: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIyIDIyIj4KICA8cGF0aCBjbGFzcz0ianAtaWNvbi1jb250cmFzdDEganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNENBRjUwIiBkPSJNMi4yIDIuMnYxNy42aDE3LjZWMi4ySDIuMnptMTUuNCA3LjdoLTUuNVY0LjRoNS41djUuNXpNOS45IDQuNHY1LjVINC40VjQuNGg1LjV6bS01LjUgNy43aDUuNXY1LjVINC40di01LjV6bTcuNyA1LjV2LTUuNWg1LjV2NS41aC01LjV6Ii8+Cjwvc3ZnPgo=);
+  --jp-icon-stop: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CiAgICAgICAgPHBhdGggZD0iTTAgMGgyNHYyNEgweiIgZmlsbD0ibm9uZSIvPgogICAgICAgIDxwYXRoIGQ9Ik02IDZoMTJ2MTJINnoiLz4KICAgIDwvZz4KPC9zdmc+Cg==);
+  --jp-icon-tab: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTIxIDNIM2MtMS4xIDAtMiAuOS0yIDJ2MTRjMCAxLjEuOSAyIDIgMmgxOGMxLjEgMCAyLS45IDItMlY1YzAtMS4xLS45LTItMi0yem0wIDE2SDNWNWgxMHY0aDh2MTB6Ii8+CiAgPC9nPgo8L3N2Zz4K);
+  --jp-icon-table-rows: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CiAgICAgICAgPHBhdGggZD0iTTAgMGgyNHYyNEgweiIgZmlsbD0ibm9uZSIvPgogICAgICAgIDxwYXRoIGQ9Ik0yMSw4SDNWNGgxOFY4eiBNMjEsMTBIM3Y0aDE4VjEweiBNMjEsMTZIM3Y0aDE4VjE2eiIvPgogICAgPC9nPgo8L3N2Zz4=);
+  --jp-icon-tag: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIHZpZXdCb3g9IjAgMCA0MyAyOCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KCTxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CgkJPHBhdGggZD0iTTI4LjgzMzIgMTIuMzM0TDMyLjk5OTggMTYuNTAwN0wzNy4xNjY1IDEyLjMzNEgyOC44MzMyWiIvPgoJCTxwYXRoIGQ9Ik0xNi4yMDk1IDIxLjYxMDRDMTUuNjg3MyAyMi4xMjk5IDE0Ljg0NDMgMjIuMTI5OSAxNC4zMjQ4IDIxLjYxMDRMNi45ODI5IDE0LjcyNDVDNi41NzI0IDE0LjMzOTQgNi4wODMxMyAxMy42MDk4IDYuMDQ3ODYgMTMuMDQ4MkM1Ljk1MzQ3IDExLjUyODggNi4wMjAwMiA4LjYxOTQ0IDYuMDY2MjEgNy4wNzY5NUM2LjA4MjgxIDYuNTE0NzcgNi41NTU0OCA2LjA0MzQ3IDcuMTE4MDQgNi4wMzA1NUM5LjA4ODYzIDUuOTg0NzMgMTMuMjYzOCA1LjkzNTc5IDEzLjY1MTggNi4zMjQyNUwyMS43MzY5IDEzLjYzOUMyMi4yNTYgMTQuMTU4NSAyMS43ODUxIDE1LjQ3MjQgMjEuMjYyIDE1Ljk5NDZMMTYuMjA5NSAyMS42MTA0Wk05Ljc3NTg1IDguMjY1QzkuMzM1NTEgNy44MjU2NiA4LjYyMzUxIDcuODI1NjYgOC4xODI4IDguMjY1QzcuNzQzNDYgOC43MDU3MSA3Ljc0MzQ2IDkuNDE3MzMgOC4xODI4IDkuODU2NjdDOC42MjM4MiAxMC4yOTY0IDkuMzM1ODIgMTAuMjk2NCA5Ljc3NTg1IDkuODU2NjdDMTAuMjE1NiA5LjQxNzMzIDEwLjIxNTYgOC43MDUzMyA5Ljc3NTg1IDguMjY1WiIvPgoJPC9nPgo8L3N2Zz4K);
+  --jp-icon-terminal: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0IiA+CiAgICA8cmVjdCBjbGFzcz0ianAtaWNvbjIganAtaWNvbi1zZWxlY3RhYmxlIiB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDIgMikiIGZpbGw9IiMzMzMzMzMiLz4KICAgIDxwYXRoIGNsYXNzPSJqcC1pY29uLWFjY2VudDIganAtaWNvbi1zZWxlY3RhYmxlLWludmVyc2UiIGQ9Ik01LjA1NjY0IDguNzYxNzJDNS4wNTY2NCA4LjU5NzY2IDUuMDMxMjUgOC40NTMxMiA0Ljk4MDQ3IDguMzI4MTJDNC45MzM1OSA4LjE5OTIyIDQuODU1NDcgOC4wODIwMyA0Ljc0NjA5IDcuOTc2NTZDNC42NDA2MiA3Ljg3MTA5IDQuNSA3Ljc3NTM5IDQuMzI0MjIgNy42ODk0NUM0LjE1MjM0IDcuNTk5NjEgMy45NDMzNiA3LjUxMTcyIDMuNjk3MjcgNy40MjU3OEMzLjMwMjczIDcuMjg1MTYgMi45NDMzNiA3LjEzNjcyIDIuNjE5MTQgNi45ODA0N0MyLjI5NDkyIDYuODI0MjIgMi4wMTc1OCA2LjY0MjU4IDEuNzg3MTEgNi40MzU1NUMxLjU2MDU1IDYuMjI4NTIgMS4zODQ3NyA1Ljk4ODI4IDEuMjU5NzcgNS43MTQ4NEMxLjEzNDc3IDUuNDM3NSAxLjA3MjI3IDUuMTA5MzggMS4wNzIyNyA0LjczMDQ3QzEuMDcyMjcgNC4zOTg0NCAxLjEyODkxIDQuMDk1NyAxLjI0MjE5IDMuODIyMjdDMS4zNTU0NyAzLjU0NDkyIDEuNTE1NjIgMy4zMDQ2OSAxLjcyMjY2IDMuMTAxNTZDMS45Mjk2OSAyLjg5ODQ0IDIuMTc5NjkgMi43MzQzNyAyLjQ3MjY2IDIuNjA5MzhDMi43NjU2MiAyLjQ4NDM4IDMuMDkxOCAyLjQwNDMgMy40NTExNyAyLjM2OTE0VjEuMTA5MzhINC4zODg2N1YyLjM4MDg2QzQuNzQwMjMgMi40Mjc3MyA1LjA1NjY0IDIuNTIzNDQgNS4zMzc4OSAyLjY2Nzk3QzUuNjE5MTQgMi44MTI1IDUuODU3NDIgMy4wMDE5NSA2LjA1MjczIDMuMjM2MzNDNi4yNTE5NSAzLjQ2NjggNi40MDQzIDMuNzQwMjMgNi41MDk3NyA0LjA1NjY0QzYuNjE5MTQgNC4zNjkxNCA2LjY3MzgzIDQuNzIwNyA2LjY3MzgzIDUuMTExMzNINS4wNDQ5MkM1LjA0NDkyIDQuNjM4NjcgNC45Mzc1IDQuMjgxMjUgNC43MjI2NiA0LjAzOTA2QzQuNTA3ODEgMy43OTI5NyA0LjIxNjggMy42Njk5MiAzLjg0OTYxIDMuNjY5OTJDMy42NTAzOSAzLjY2OTkyIDMuNDc2NTYgMy42OTcyNyAzLjMyODEyIDMuNzUxOTVDMy4xODM1OSAzLjgwMjczIDMuMDY0NDUgMy44NzY5NSAyLjk3MDcgMy45NzQ2MUMyLjg3Njk1IDQuMDY4MzYgMi44MDY2NCA0LjE3OTY5IDIuNzU5NzcgNC4zMDg1OUMyLjcxNjggNC40Mzc1IDIuNjk1MzEgNC41NzgxMiAyLjY5NTMxIDQuNzMwNDdDMi42OTUzMSA0Ljg4MjgxIDIuNzE2OCA1LjAxOTUzIDIuNzU5NzcgNS4xNDA2MkMyLjgwNjY0IDUuMjU3ODEgMi44ODI4MSA1LjM2NzE5IDIuOTg4MjggNS40Njg3NUMzLjA5NzY2IDUuNTcwMzEgMy4yNDAyMyA1LjY2Nzk3IDMuNDE2MDIgNS43NjE3MkMzLjU5MTggNS44NTE1NiAzLjgxMDU1IDUuOTQzMzYgNC4wNzIyNyA2LjAzNzExQzQuNDY2OCA2LjE4NTU1IDQuODI0MjIgNi4zMzk4NCA1LjE0NDUzIDYuNUM1LjQ2NDg0IDYuNjU2MjUgNS43MzgyOCA2LjgzOTg0IDUuOTY0ODQgNy4wNTA3OEM2LjE5NTMxIDcuMjU3ODEgNi4zNzEwOSA3LjUgNi40OTIxOSA3Ljc3NzM0QzYuNjE3MTkgOC4wNTA3OCA2LjY3OTY5IDguMzc1IDYuNjc5NjkgOC43NUM2LjY3OTY5IDkuMDkzNzUgNi42MjMwNSA5LjQwNDMgNi41MDk3NyA5LjY4MTY0QzYuMzk2NDggOS45NTUwOCA2LjIzNDM4IDEwLjE5MTQgNi4wMjM0NCAxMC4zOTA2QzUuODEyNSAxMC41ODk4IDUuNTU4NTkgMTAuNzUgNS4yNjE3MiAxMC44NzExQzQuOTY0ODQgMTAuOTg4MyA0LjYzMjgxIDExLjA2NDUgNC4yNjU2MiAxMS4wOTk2VjEyLjI0OEgzLjMzMzk4VjExLjA5OTZDMy4wMDE5NSAxMS4wNjg0IDIuNjc5NjkgMTAuOTk2MSAyLjM2NzE5IDEwLjg4MjhDMi4wNTQ2OSAxMC43NjU2IDEuNzc3MzQgMTAuNTk3NyAxLjUzNTE2IDEwLjM3ODlDMS4yOTY4OCAxMC4xNjAyIDEuMTA1NDcgOS44ODQ3NyAwLjk2MDkzOCA5LjU1MjczQzAuODE2NDA2IDkuMjE2OCAwLjc0NDE0MSA4LjgxNDQ1IDAuNzQ0MTQxIDguMzQ1N0gyLjM3ODkxQzIuMzc4OTEgOC42MjY5NSAyLjQxOTkyIDguODYzMjggMi41MDE5NSA5LjA1NDY5QzIuNTgzOTggOS4yNDIxOSAyLjY4OTQ1IDkuMzkyNTggMi44MTgzNiA5LjUwNTg2QzIuOTUxMTcgOS42MTUyMyAzLjEwMTU2IDkuNjkzMzYgMy4yNjk1MyA5Ljc0MDIzQzMuNDM3NSA5Ljc4NzExIDMuNjA5MzggOS44MTA1NSAzLjc4NTE2IDkuODEwNTVDNC4yMDMxMiA5LjgxMDU1IDQuNTE5NTMgOS43MTI4OSA0LjczNDM4IDkuNTE3NThDNC45NDkyMiA5LjMyMjI3IDUuMDU2NjQgOS4wNzAzMSA1LjA1NjY0IDguNzYxNzJaTTEzLjQxOCAxMi4yNzE1SDguMDc0MjJWMTFIMTMuNDE4VjEyLjI3MTVaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzLjk1MjY0IDYpIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K);
+  --jp-icon-text-editor: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNjE2MTYxIiBkPSJNMTUgMTVIM3YyaDEydi0yem0wLThIM3YyaDEyVjd6TTMgMTNoMTh2LTJIM3Yyem0wIDhoMTh2LTJIM3Yyek0zIDN2MmgxOFYzSDN6Ii8+Cjwvc3ZnPgo=);
+  --jp-icon-toc: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2ZXJzaW9uPSIxLjEiIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgoJPHBhdGggZD0iTTcsNUgyMVY3SDdWNU03LDEzVjExSDIxVjEzSDdNNCw0LjVBMS41LDEuNSAwIDAsMSA1LjUsNkExLjUsMS41IDAgMCwxIDQsNy41QTEuNSwxLjUgMCAwLDEgMi41LDZBMS41LDEuNSAwIDAsMSA0LDQuNU00LDEwLjVBMS41LDEuNSAwIDAsMSA1LjUsMTJBMS41LDEuNSAwIDAsMSA0LDEzLjVBMS41LDEuNSAwIDAsMSAyLjUsMTJBMS41LDEuNSAwIDAsMSA0LDEwLjVNNywxOVYxN0gyMVYxOUg3TTQsMTYuNUExLjUsMS41IDAgMCwxIDUuNSwxOEExLjUsMS41IDAgMCwxIDQsMTkuNUExLjUsMS41IDAgMCwxIDIuNSwxOEExLjUsMS41IDAgMCwxIDQsMTYuNVoiIC8+Cjwvc3ZnPgo=);
+  --jp-icon-tree-view: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CiAgICAgICAgPHBhdGggZD0iTTAgMGgyNHYyNEgweiIgZmlsbD0ibm9uZSIvPgogICAgICAgIDxwYXRoIGQ9Ik0yMiAxMVYzaC03djNIOVYzSDJ2OGg3VjhoMnYxMGg0djNoN3YtOGgtN3YzaC0yVjhoMnYzeiIvPgogICAgPC9nPgo8L3N2Zz4=);
+  --jp-icon-trusted: url(data:image/svg+xml;base64,PHN2ZyBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI1Ij4KICAgIDxwYXRoIGNsYXNzPSJqcC1pY29uMiIgc3Ryb2tlPSIjMzMzMzMzIiBzdHJva2Utd2lkdGg9IjIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDIgMykiIGQ9Ik0xLjg2MDk0IDExLjQ0MDlDMC44MjY0NDggOC43NzAyNyAwLjg2Mzc3OSA2LjA1NzY0IDEuMjQ5MDcgNC4xOTkzMkMyLjQ4MjA2IDMuOTMzNDcgNC4wODA2OCAzLjQwMzQ3IDUuNjAxMDIgMi44NDQ5QzcuMjM1NDkgMi4yNDQ0IDguODU2NjYgMS41ODE1IDkuOTg3NiAxLjA5NTM5QzExLjA1OTcgMS41ODM0MSAxMi42MDk0IDIuMjQ0NCAxNC4yMTggMi44NDMzOUMxNS43NTAzIDMuNDEzOTQgMTcuMzk5NSAzLjk1MjU4IDE4Ljc1MzkgNC4yMTM4NUMxOS4xMzY0IDYuMDcxNzcgMTkuMTcwOSA4Ljc3NzIyIDE4LjEzOSAxMS40NDA5QzE3LjAzMDMgMTQuMzAzMiAxNC42NjY4IDE3LjE4NDQgOS45OTk5OSAxOC45MzU0QzUuMzMzMiAxNy4xODQ0IDIuOTY5NjggMTQuMzAzMiAxLjg2MDk0IDExLjQ0MDlaIi8+CiAgICA8cGF0aCBjbGFzcz0ianAtaWNvbjIiIGZpbGw9IiMzMzMzMzMiIHN0cm9rZT0iIzMzMzMzMyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoOCA5Ljg2NzE5KSIgZD0iTTIuODYwMTUgNC44NjUzNUwwLjcyNjU0OSAyLjk5OTU5TDAgMy42MzA0NUwyLjg2MDE1IDYuMTMxNTdMOCAwLjYzMDg3Mkw3LjI3ODU3IDBMMi44NjAxNSA0Ljg2NTM1WiIvPgo8L3N2Zz4K);
+  --jp-icon-undo: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTEyLjUgOGMtMi42NSAwLTUuMDUuOTktNi45IDIuNkwyIDd2OWg5bC0zLjYyLTMuNjJjMS4zOS0xLjE2IDMuMTYtMS44OCA1LjEyLTEuODggMy41NCAwIDYuNTUgMi4zMSA3LjYgNS41bDIuMzctLjc4QzIxLjA4IDExLjAzIDE3LjE1IDggMTIuNSA4eiIvPgogIDwvZz4KPC9zdmc+Cg==);
+  --jp-icon-vega: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIyIDIyIj4KICA8ZyBjbGFzcz0ianAtaWNvbjEganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjMjEyMTIxIj4KICAgIDxwYXRoIGQ9Ik0xMC42IDUuNGwyLjItMy4ySDIuMnY3LjNsNC02LjZ6Ii8+CiAgICA8cGF0aCBkPSJNMTUuOCAyLjJsLTQuNCA2LjZMNyA2LjNsLTQuOCA4djUuNWgxNy42VjIuMmgtNHptLTcgMTUuNEg1LjV2LTQuNGgzLjN2NC40em00LjQgMEg5LjhWOS44aDMuNHY3Ljh6bTQuNCAwaC0zLjRWNi41aDMuNHYxMS4xeiIvPgogIDwvZz4KPC9zdmc+Cg==);
+  --jp-icon-yaml: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIyIDIyIj4KICA8ZyBjbGFzcz0ianAtaWNvbi1jb250cmFzdDIganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjRDgxQjYwIj4KICAgIDxwYXRoIGQ9Ik03LjIgMTguNnYtNS40TDMgNS42aDMuM2wxLjQgMy4xYy4zLjkuNiAxLjYgMSAyLjUuMy0uOC42LTEuNiAxLTIuNWwxLjQtMy4xaDMuNGwtNC40IDcuNnY1LjVsLTIuOS0uMXoiLz4KICAgIDxjaXJjbGUgY2xhc3M9InN0MCIgY3g9IjE3LjYiIGN5PSIxNi41IiByPSIyLjEiLz4KICAgIDxjaXJjbGUgY2xhc3M9InN0MCIgY3g9IjE3LjYiIGN5PSIxMSIgcj0iMi4xIi8+CiAgPC9nPgo8L3N2Zz4K);
+}
+
+/* Icon CSS class declarations */
+
+.jp-AddIcon {
+  background-image: var(--jp-icon-add);
+}
+.jp-BugIcon {
+  background-image: var(--jp-icon-bug);
+}
+.jp-BuildIcon {
+  background-image: var(--jp-icon-build);
+}
+.jp-CaretDownEmptyIcon {
+  background-image: var(--jp-icon-caret-down-empty);
+}
+.jp-CaretDownEmptyThinIcon {
+  background-image: var(--jp-icon-caret-down-empty-thin);
+}
+.jp-CaretDownIcon {
+  background-image: var(--jp-icon-caret-down);
+}
+.jp-CaretLeftIcon {
+  background-image: var(--jp-icon-caret-left);
+}
+.jp-CaretRightIcon {
+  background-image: var(--jp-icon-caret-right);
+}
+.jp-CaretUpEmptyThinIcon {
+  background-image: var(--jp-icon-caret-up-empty-thin);
+}
+.jp-CaretUpIcon {
+  background-image: var(--jp-icon-caret-up);
+}
+.jp-CaseSensitiveIcon {
+  background-image: var(--jp-icon-case-sensitive);
+}
+.jp-CheckIcon {
+  background-image: var(--jp-icon-check);
+}
+.jp-CircleEmptyIcon {
+  background-image: var(--jp-icon-circle-empty);
+}
+.jp-CircleIcon {
+  background-image: var(--jp-icon-circle);
+}
+.jp-ClearIcon {
+  background-image: var(--jp-icon-clear);
+}
+.jp-CloseIcon {
+  background-image: var(--jp-icon-close);
+}
+.jp-CodeIcon {
+  background-image: var(--jp-icon-code);
+}
+.jp-ConsoleIcon {
+  background-image: var(--jp-icon-console);
+}
+.jp-CopyIcon {
+  background-image: var(--jp-icon-copy);
+}
+.jp-CutIcon {
+  background-image: var(--jp-icon-cut);
+}
+.jp-DownloadIcon {
+  background-image: var(--jp-icon-download);
+}
+.jp-EditIcon {
+  background-image: var(--jp-icon-edit);
+}
+.jp-EllipsesIcon {
+  background-image: var(--jp-icon-ellipses);
+}
+.jp-ExtensionIcon {
+  background-image: var(--jp-icon-extension);
+}
+.jp-FastForwardIcon {
+  background-image: var(--jp-icon-fast-forward);
+}
+.jp-FileIcon {
+  background-image: var(--jp-icon-file);
+}
+.jp-FileUploadIcon {
+  background-image: var(--jp-icon-file-upload);
+}
+.jp-FilterListIcon {
+  background-image: var(--jp-icon-filter-list);
+}
+.jp-FolderIcon {
+  background-image: var(--jp-icon-folder);
+}
+.jp-Html5Icon {
+  background-image: var(--jp-icon-html5);
+}
+.jp-ImageIcon {
+  background-image: var(--jp-icon-image);
+}
+.jp-InspectorIcon {
+  background-image: var(--jp-icon-inspector);
+}
+.jp-JsonIcon {
+  background-image: var(--jp-icon-json);
+}
+.jp-JupyterFaviconIcon {
+  background-image: var(--jp-icon-jupyter-favicon);
+}
+.jp-JupyterIcon {
+  background-image: var(--jp-icon-jupyter);
+}
+.jp-JupyterlabWordmarkIcon {
+  background-image: var(--jp-icon-jupyterlab-wordmark);
+}
+.jp-KernelIcon {
+  background-image: var(--jp-icon-kernel);
+}
+.jp-KeyboardIcon {
+  background-image: var(--jp-icon-keyboard);
+}
+.jp-LauncherIcon {
+  background-image: var(--jp-icon-launcher);
+}
+.jp-LineFormIcon {
+  background-image: var(--jp-icon-line-form);
+}
+.jp-LinkIcon {
+  background-image: var(--jp-icon-link);
+}
+.jp-ListIcon {
+  background-image: var(--jp-icon-list);
+}
+.jp-ListingsInfoIcon {
+  background-image: var(--jp-icon-listings-info);
+}
+.jp-MarkdownIcon {
+  background-image: var(--jp-icon-markdown);
+}
+.jp-NewFolderIcon {
+  background-image: var(--jp-icon-new-folder);
+}
+.jp-NotTrustedIcon {
+  background-image: var(--jp-icon-not-trusted);
+}
+.jp-NotebookIcon {
+  background-image: var(--jp-icon-notebook);
+}
+.jp-NumberingIcon {
+  background-image: var(--jp-icon-numbering);
+}
+.jp-OfflineBoltIcon {
+  background-image: var(--jp-icon-offline-bolt);
+}
+.jp-PaletteIcon {
+  background-image: var(--jp-icon-palette);
+}
+.jp-PasteIcon {
+  background-image: var(--jp-icon-paste);
+}
+.jp-PdfIcon {
+  background-image: var(--jp-icon-pdf);
+}
+.jp-PythonIcon {
+  background-image: var(--jp-icon-python);
+}
+.jp-RKernelIcon {
+  background-image: var(--jp-icon-r-kernel);
+}
+.jp-ReactIcon {
+  background-image: var(--jp-icon-react);
+}
+.jp-RedoIcon {
+  background-image: var(--jp-icon-redo);
+}
+.jp-RefreshIcon {
+  background-image: var(--jp-icon-refresh);
+}
+.jp-RegexIcon {
+  background-image: var(--jp-icon-regex);
+}
+.jp-RunIcon {
+  background-image: var(--jp-icon-run);
+}
+.jp-RunningIcon {
+  background-image: var(--jp-icon-running);
+}
+.jp-SaveIcon {
+  background-image: var(--jp-icon-save);
+}
+.jp-SearchIcon {
+  background-image: var(--jp-icon-search);
+}
+.jp-SettingsIcon {
+  background-image: var(--jp-icon-settings);
+}
+.jp-SpreadsheetIcon {
+  background-image: var(--jp-icon-spreadsheet);
+}
+.jp-StopIcon {
+  background-image: var(--jp-icon-stop);
+}
+.jp-TabIcon {
+  background-image: var(--jp-icon-tab);
+}
+.jp-TableRowsIcon {
+  background-image: var(--jp-icon-table-rows);
+}
+.jp-TagIcon {
+  background-image: var(--jp-icon-tag);
+}
+.jp-TerminalIcon {
+  background-image: var(--jp-icon-terminal);
+}
+.jp-TextEditorIcon {
+  background-image: var(--jp-icon-text-editor);
+}
+.jp-TocIcon {
+  background-image: var(--jp-icon-toc);
+}
+.jp-TreeViewIcon {
+  background-image: var(--jp-icon-tree-view);
+}
+.jp-TrustedIcon {
+  background-image: var(--jp-icon-trusted);
+}
+.jp-UndoIcon {
+  background-image: var(--jp-icon-undo);
+}
+.jp-VegaIcon {
+  background-image: var(--jp-icon-vega);
+}
+.jp-YamlIcon {
+  background-image: var(--jp-icon-yaml);
+}
+
+/*-----------------------------------------------------------------------------
+| Copyright (c) Jupyter Development Team.
+| Distributed under the terms of the Modified BSD License.
+|----------------------------------------------------------------------------*/
+
+/**
+ * (DEPRECATED) Support for consuming icons as CSS background images
+ */
+
+:root {
+  --jp-icon-search-white: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTEyLjEsMTAuOWgtMC43bC0wLjItMC4yYzAuOC0wLjksMS4zLTIuMiwxLjMtMy41YzAtMy0yLjQtNS40LTUuNC01LjRTMS44LDQuMiwxLjgsNy4xczIuNCw1LjQsNS40LDUuNCBjMS4zLDAsMi41LTAuNSwzLjUtMS4zbDAuMiwwLjJ2MC43bDQuMSw0LjFsMS4yLTEuMkwxMi4xLDEwLjl6IE03LjEsMTAuOWMtMi4xLDAtMy43LTEuNy0zLjctMy43czEuNy0zLjcsMy43LTMuN3MzLjcsMS43LDMuNywzLjcgUzkuMiwxMC45LDcuMSwxMC45eiIvPgogIDwvZz4KPC9zdmc+Cg==);
+}
+
+.jp-Icon,
+.jp-MaterialIcon {
+  background-position: center;
+  background-repeat: no-repeat;
+  background-size: 16px;
+  min-width: 16px;
+  min-height: 16px;
+}
+
+.jp-Icon-cover {
+  background-position: center;
+  background-repeat: no-repeat;
+  background-size: cover;
+}
+
+/**
+ * (DEPRECATED) Support for specific CSS icon sizes
+ */
+
+.jp-Icon-16 {
+  background-size: 16px;
+  min-width: 16px;
+  min-height: 16px;
+}
+
+.jp-Icon-18 {
+  background-size: 18px;
+  min-width: 18px;
+  min-height: 18px;
+}
+
+.jp-Icon-20 {
+  background-size: 20px;
+  min-width: 20px;
+  min-height: 20px;
+}
+
+/*-----------------------------------------------------------------------------
+| Copyright (c) Jupyter Development Team.
+| Distributed under the terms of the Modified BSD License.
+|----------------------------------------------------------------------------*/
+
+/**
+ * Support for icons as inline SVG HTMLElements
+ */
+
+/* recolor the primary elements of an icon */
+.jp-icon0[fill] {
+  fill: var(--jp-inverse-layout-color0);
+}
+.jp-icon1[fill] {
+  fill: var(--jp-inverse-layout-color1);
+}
+.jp-icon2[fill] {
+  fill: var(--jp-inverse-layout-color2);
+}
+.jp-icon3[fill] {
+  fill: var(--jp-inverse-layout-color3);
+}
+.jp-icon4[fill] {
+  fill: var(--jp-inverse-layout-color4);
+}
+
+.jp-icon0[stroke] {
+  stroke: var(--jp-inverse-layout-color0);
+}
+.jp-icon1[stroke] {
+  stroke: var(--jp-inverse-layout-color1);
+}
+.jp-icon2[stroke] {
+  stroke: var(--jp-inverse-layout-color2);
+}
+.jp-icon3[stroke] {
+  stroke: var(--jp-inverse-layout-color3);
+}
+.jp-icon4[stroke] {
+  stroke: var(--jp-inverse-layout-color4);
+}
+/* recolor the accent elements of an icon */
+.jp-icon-accent0[fill] {
+  fill: var(--jp-layout-color0);
+}
+.jp-icon-accent1[fill] {
+  fill: var(--jp-layout-color1);
+}
+.jp-icon-accent2[fill] {
+  fill: var(--jp-layout-color2);
+}
+.jp-icon-accent3[fill] {
+  fill: var(--jp-layout-color3);
+}
+.jp-icon-accent4[fill] {
+  fill: var(--jp-layout-color4);
+}
+
+.jp-icon-accent0[stroke] {
+  stroke: var(--jp-layout-color0);
+}
+.jp-icon-accent1[stroke] {
+  stroke: var(--jp-layout-color1);
+}
+.jp-icon-accent2[stroke] {
+  stroke: var(--jp-layout-color2);
+}
+.jp-icon-accent3[stroke] {
+  stroke: var(--jp-layout-color3);
+}
+.jp-icon-accent4[stroke] {
+  stroke: var(--jp-layout-color4);
+}
+/* set the color of an icon to transparent */
+.jp-icon-none[fill] {
+  fill: none;
+}
+
+.jp-icon-none[stroke] {
+  stroke: none;
+}
+/* brand icon colors. Same for light and dark */
+.jp-icon-brand0[fill] {
+  fill: var(--jp-brand-color0);
+}
+.jp-icon-brand1[fill] {
+  fill: var(--jp-brand-color1);
+}
+.jp-icon-brand2[fill] {
+  fill: var(--jp-brand-color2);
+}
+.jp-icon-brand3[fill] {
+  fill: var(--jp-brand-color3);
+}
+.jp-icon-brand4[fill] {
+  fill: var(--jp-brand-color4);
+}
+
+.jp-icon-brand0[stroke] {
+  stroke: var(--jp-brand-color0);
+}
+.jp-icon-brand1[stroke] {
+  stroke: var(--jp-brand-color1);
+}
+.jp-icon-brand2[stroke] {
+  stroke: var(--jp-brand-color2);
+}
+.jp-icon-brand3[stroke] {
+  stroke: var(--jp-brand-color3);
+}
+.jp-icon-brand4[stroke] {
+  stroke: var(--jp-brand-color4);
+}
+/* warn icon colors. Same for light and dark */
+.jp-icon-warn0[fill] {
+  fill: var(--jp-warn-color0);
+}
+.jp-icon-warn1[fill] {
+  fill: var(--jp-warn-color1);
+}
+.jp-icon-warn2[fill] {
+  fill: var(--jp-warn-color2);
+}
+.jp-icon-warn3[fill] {
+  fill: var(--jp-warn-color3);
+}
+
+.jp-icon-warn0[stroke] {
+  stroke: var(--jp-warn-color0);
+}
+.jp-icon-warn1[stroke] {
+  stroke: var(--jp-warn-color1);
+}
+.jp-icon-warn2[stroke] {
+  stroke: var(--jp-warn-color2);
+}
+.jp-icon-warn3[stroke] {
+  stroke: var(--jp-warn-color3);
+}
+/* icon colors that contrast well with each other and most backgrounds */
+.jp-icon-contrast0[fill] {
+  fill: var(--jp-icon-contrast-color0);
+}
+.jp-icon-contrast1[fill] {
+  fill: var(--jp-icon-contrast-color1);
+}
+.jp-icon-contrast2[fill] {
+  fill: var(--jp-icon-contrast-color2);
+}
+.jp-icon-contrast3[fill] {
+  fill: var(--jp-icon-contrast-color3);
+}
+
+.jp-icon-contrast0[stroke] {
+  stroke: var(--jp-icon-contrast-color0);
+}
+.jp-icon-contrast1[stroke] {
+  stroke: var(--jp-icon-contrast-color1);
+}
+.jp-icon-contrast2[stroke] {
+  stroke: var(--jp-icon-contrast-color2);
+}
+.jp-icon-contrast3[stroke] {
+  stroke: var(--jp-icon-contrast-color3);
+}
+
+/* CSS for icons in selected items in the settings editor */
+#setting-editor .jp-PluginList .jp-mod-selected .jp-icon-selectable[fill] {
+  fill: #fff;
+}
+#setting-editor
+  .jp-PluginList
+  .jp-mod-selected
+  .jp-icon-selectable-inverse[fill] {
+  fill: var(--jp-brand-color1);
+}
+
+/* CSS for icons in selected filebrowser listing items */
+.jp-DirListing-item.jp-mod-selected .jp-icon-selectable[fill] {
+  fill: #fff;
+}
+.jp-DirListing-item.jp-mod-selected .jp-icon-selectable-inverse[fill] {
+  fill: var(--jp-brand-color1);
+}
+
+/* CSS for icons in selected tabs in the sidebar tab manager */
+#tab-manager .lm-TabBar-tab.jp-mod-active .jp-icon-selectable[fill] {
+  fill: #fff;
+}
+
+#tab-manager .lm-TabBar-tab.jp-mod-active .jp-icon-selectable-inverse[fill] {
+  fill: var(--jp-brand-color1);
+}
+#tab-manager
+  .lm-TabBar-tab.jp-mod-active
+  .jp-icon-hover
+  :hover
+  .jp-icon-selectable[fill] {
+  fill: var(--jp-brand-color1);
+}
+
+#tab-manager
+  .lm-TabBar-tab.jp-mod-active
+  .jp-icon-hover
+  :hover
+  .jp-icon-selectable-inverse[fill] {
+  fill: #fff;
+}
+
+/**
+ * TODO: come up with non css-hack solution for showing the busy icon on top
+ *  of the close icon
+ * CSS for complex behavior of close icon of tabs in the sidebar tab manager
+ */
+#tab-manager
+  .lm-TabBar-tab.jp-mod-dirty
+  > .lm-TabBar-tabCloseIcon
+  > :not(:hover)
+  > .jp-icon3[fill] {
+  fill: none;
+}
+#tab-manager
+  .lm-TabBar-tab.jp-mod-dirty
+  > .lm-TabBar-tabCloseIcon
+  > :not(:hover)
+  > .jp-icon-busy[fill] {
+  fill: var(--jp-inverse-layout-color3);
+}
+
+#tab-manager
+  .lm-TabBar-tab.jp-mod-dirty.jp-mod-active
+  > .lm-TabBar-tabCloseIcon
+  > :not(:hover)
+  > .jp-icon-busy[fill] {
+  fill: #fff;
+}
+
+/**
+* TODO: come up with non css-hack solution for showing the busy icon on top
+*  of the close icon
+* CSS for complex behavior of close icon of tabs in the main area tabbar
+*/
+.lm-DockPanel-tabBar
+  .lm-TabBar-tab.lm-mod-closable.jp-mod-dirty
+  > .lm-TabBar-tabCloseIcon
+  > :not(:hover)
+  > .jp-icon3[fill] {
+  fill: none;
+}
+.lm-DockPanel-tabBar
+  .lm-TabBar-tab.lm-mod-closable.jp-mod-dirty
+  > .lm-TabBar-tabCloseIcon
+  > :not(:hover)
+  > .jp-icon-busy[fill] {
+  fill: var(--jp-inverse-layout-color3);
+}
+
+/* CSS for icons in status bar */
+#jp-main-statusbar .jp-mod-selected .jp-icon-selectable[fill] {
+  fill: #fff;
+}
+
+#jp-main-statusbar .jp-mod-selected .jp-icon-selectable-inverse[fill] {
+  fill: var(--jp-brand-color1);
+}
+/* special handling for splash icon CSS. While the theme CSS reloads during
+   splash, the splash icon can loose theming. To prevent that, we set a
+   default for its color variable */
+:root {
+  --jp-warn-color0: var(--md-orange-700);
+}
+
+/* not sure what to do with this one, used in filebrowser listing */
+.jp-DragIcon {
+  margin-right: 4px;
+}
+
+/*-----------------------------------------------------------------------------
+| Copyright (c) Jupyter Development Team.
+| Distributed under the terms of the Modified BSD License.
+|----------------------------------------------------------------------------*/
+
+/**
+ * Support for alt colors for icons as inline SVG HTMLElements
+ */
+
+/* alt recolor the primary elements of an icon */
+.jp-icon-alt .jp-icon0[fill] {
+  fill: var(--jp-layout-color0);
+}
+.jp-icon-alt .jp-icon1[fill] {
+  fill: var(--jp-layout-color1);
+}
+.jp-icon-alt .jp-icon2[fill] {
+  fill: var(--jp-layout-color2);
+}
+.jp-icon-alt .jp-icon3[fill] {
+  fill: var(--jp-layout-color3);
+}
+.jp-icon-alt .jp-icon4[fill] {
+  fill: var(--jp-layout-color4);
+}
+
+.jp-icon-alt .jp-icon0[stroke] {
+  stroke: var(--jp-layout-color0);
+}
+.jp-icon-alt .jp-icon1[stroke] {
+  stroke: var(--jp-layout-color1);
+}
+.jp-icon-alt .jp-icon2[stroke] {
+  stroke: var(--jp-layout-color2);
+}
+.jp-icon-alt .jp-icon3[stroke] {
+  stroke: var(--jp-layout-color3);
+}
+.jp-icon-alt .jp-icon4[stroke] {
+  stroke: var(--jp-layout-color4);
+}
+
+/* alt recolor the accent elements of an icon */
+.jp-icon-alt .jp-icon-accent0[fill] {
+  fill: var(--jp-inverse-layout-color0);
+}
+.jp-icon-alt .jp-icon-accent1[fill] {
+  fill: var(--jp-inverse-layout-color1);
+}
+.jp-icon-alt .jp-icon-accent2[fill] {
+  fill: var(--jp-inverse-layout-color2);
+}
+.jp-icon-alt .jp-icon-accent3[fill] {
+  fill: var(--jp-inverse-layout-color3);
+}
+.jp-icon-alt .jp-icon-accent4[fill] {
+  fill: var(--jp-inverse-layout-color4);
+}
+
+.jp-icon-alt .jp-icon-accent0[stroke] {
+  stroke: var(--jp-inverse-layout-color0);
+}
+.jp-icon-alt .jp-icon-accent1[stroke] {
+  stroke: var(--jp-inverse-layout-color1);
+}
+.jp-icon-alt .jp-icon-accent2[stroke] {
+  stroke: var(--jp-inverse-layout-color2);
+}
+.jp-icon-alt .jp-icon-accent3[stroke] {
+  stroke: var(--jp-inverse-layout-color3);
+}
+.jp-icon-alt .jp-icon-accent4[stroke] {
+  stroke: var(--jp-inverse-layout-color4);
+}
+
+/*-----------------------------------------------------------------------------
+| Copyright (c) Jupyter Development Team.
+| Distributed under the terms of the Modified BSD License.
+|----------------------------------------------------------------------------*/
+
+.jp-icon-hoverShow:not(:hover) svg {
+  display: none !important;
+}
+
+/**
+ * Support for hover colors for icons as inline SVG HTMLElements
+ */
+
+/**
+ * regular colors
+ */
+
+/* recolor the primary elements of an icon */
+.jp-icon-hover :hover .jp-icon0-hover[fill] {
+  fill: var(--jp-inverse-layout-color0);
+}
+.jp-icon-hover :hover .jp-icon1-hover[fill] {
+  fill: var(--jp-inverse-layout-color1);
+}
+.jp-icon-hover :hover .jp-icon2-hover[fill] {
+  fill: var(--jp-inverse-layout-color2);
+}
+.jp-icon-hover :hover .jp-icon3-hover[fill] {
+  fill: var(--jp-inverse-layout-color3);
+}
+.jp-icon-hover :hover .jp-icon4-hover[fill] {
+  fill: var(--jp-inverse-layout-color4);
+}
+
+.jp-icon-hover :hover .jp-icon0-hover[stroke] {
+  stroke: var(--jp-inverse-layout-color0);
+}
+.jp-icon-hover :hover .jp-icon1-hover[stroke] {
+  stroke: var(--jp-inverse-layout-color1);
+}
+.jp-icon-hover :hover .jp-icon2-hover[stroke] {
+  stroke: var(--jp-inverse-layout-color2);
+}
+.jp-icon-hover :hover .jp-icon3-hover[stroke] {
+  stroke: var(--jp-inverse-layout-color3);
+}
+.jp-icon-hover :hover .jp-icon4-hover[stroke] {
+  stroke: var(--jp-inverse-layout-color4);
+}
+
+/* recolor the accent elements of an icon */
+.jp-icon-hover :hover .jp-icon-accent0-hover[fill] {
+  fill: var(--jp-layout-color0);
+}
+.jp-icon-hover :hover .jp-icon-accent1-hover[fill] {
+  fill: var(--jp-layout-color1);
+}
+.jp-icon-hover :hover .jp-icon-accent2-hover[fill] {
+  fill: var(--jp-layout-color2);
+}
+.jp-icon-hover :hover .jp-icon-accent3-hover[fill] {
+  fill: var(--jp-layout-color3);
+}
+.jp-icon-hover :hover .jp-icon-accent4-hover[fill] {
+  fill: var(--jp-layout-color4);
+}
+
+.jp-icon-hover :hover .jp-icon-accent0-hover[stroke] {
+  stroke: var(--jp-layout-color0);
+}
+.jp-icon-hover :hover .jp-icon-accent1-hover[stroke] {
+  stroke: var(--jp-layout-color1);
+}
+.jp-icon-hover :hover .jp-icon-accent2-hover[stroke] {
+  stroke: var(--jp-layout-color2);
+}
+.jp-icon-hover :hover .jp-icon-accent3-hover[stroke] {
+  stroke: var(--jp-layout-color3);
+}
+.jp-icon-hover :hover .jp-icon-accent4-hover[stroke] {
+  stroke: var(--jp-layout-color4);
+}
+
+/* set the color of an icon to transparent */
+.jp-icon-hover :hover .jp-icon-none-hover[fill] {
+  fill: none;
+}
+
+.jp-icon-hover :hover .jp-icon-none-hover[stroke] {
+  stroke: none;
+}
+
+/**
+ * inverse colors
+ */
+
+/* inverse recolor the primary elements of an icon */
+.jp-icon-hover.jp-icon-alt :hover .jp-icon0-hover[fill] {
+  fill: var(--jp-layout-color0);
+}
+.jp-icon-hover.jp-icon-alt :hover .jp-icon1-hover[fill] {
+  fill: var(--jp-layout-color1);
+}
+.jp-icon-hover.jp-icon-alt :hover .jp-icon2-hover[fill] {
+  fill: var(--jp-layout-color2);
+}
+.jp-icon-hover.jp-icon-alt :hover .jp-icon3-hover[fill] {
+  fill: var(--jp-layout-color3);
+}
+.jp-icon-hover.jp-icon-alt :hover .jp-icon4-hover[fill] {
+  fill: var(--jp-layout-color4);
+}
+
+.jp-icon-hover.jp-icon-alt :hover .jp-icon0-hover[stroke] {
+  stroke: var(--jp-layout-color0);
+}
+.jp-icon-hover.jp-icon-alt :hover .jp-icon1-hover[stroke] {
+  stroke: var(--jp-layout-color1);
+}
+.jp-icon-hover.jp-icon-alt :hover .jp-icon2-hover[stroke] {
+  stroke: var(--jp-layout-color2);
+}
+.jp-icon-hover.jp-icon-alt :hover .jp-icon3-hover[stroke] {
+  stroke: var(--jp-layout-color3);
+}
+.jp-icon-hover.jp-icon-alt :hover .jp-icon4-hover[stroke] {
+  stroke: var(--jp-layout-color4);
+}
+
+/* inverse recolor the accent elements of an icon */
+.jp-icon-hover.jp-icon-alt :hover .jp-icon-accent0-hover[fill] {
+  fill: var(--jp-inverse-layout-color0);
+}
+.jp-icon-hover.jp-icon-alt :hover .jp-icon-accent1-hover[fill] {
+  fill: var(--jp-inverse-layout-color1);
+}
+.jp-icon-hover.jp-icon-alt :hover .jp-icon-accent2-hover[fill] {
+  fill: var(--jp-inverse-layout-color2);
+}
+.jp-icon-hover.jp-icon-alt :hover .jp-icon-accent3-hover[fill] {
+  fill: var(--jp-inverse-layout-color3);
+}
+.jp-icon-hover.jp-icon-alt :hover .jp-icon-accent4-hover[fill] {
+  fill: var(--jp-inverse-layout-color4);
+}
+
+.jp-icon-hover.jp-icon-alt :hover .jp-icon-accent0-hover[stroke] {
+  stroke: var(--jp-inverse-layout-color0);
+}
+.jp-icon-hover.jp-icon-alt :hover .jp-icon-accent1-hover[stroke] {
+  stroke: var(--jp-inverse-layout-color1);
+}
+.jp-icon-hover.jp-icon-alt :hover .jp-icon-accent2-hover[stroke] {
+  stroke: var(--jp-inverse-layout-color2);
+}
+.jp-icon-hover.jp-icon-alt :hover .jp-icon-accent3-hover[stroke] {
+  stroke: var(--jp-inverse-layout-color3);
+}
+.jp-icon-hover.jp-icon-alt :hover .jp-icon-accent4-hover[stroke] {
+  stroke: var(--jp-inverse-layout-color4);
+}
+
+/*-----------------------------------------------------------------------------
+| Copyright (c) Jupyter Development Team.
+| Distributed under the terms of the Modified BSD License.
+|----------------------------------------------------------------------------*/
+
+.jp-switch {
+  display: flex;
+  align-items: center;
+  padding-left: 4px;
+  padding-right: 4px;
+  font-size: var(--jp-ui-font-size1);
+  background-color: transparent;
+  color: var(--jp-ui-font-color1);
+  border: none;
+  height: 20px;
+}
+
+.jp-switch:hover {
+  background-color: var(--jp-layout-color2);
+}
+
+.jp-switch-label {
+  margin-right: 5px;
+}
+
+.jp-switch-track {
+  cursor: pointer;
+  background-color: var(--jp-border-color1);
+  -webkit-transition: 0.4s;
+  transition: 0.4s;
+  border-radius: 34px;
+  height: 16px;
+  width: 35px;
+  position: relative;
+}
+
+.jp-switch-track::before {
+  content: '';
+  position: absolute;
+  height: 10px;
+  width: 10px;
+  margin: 3px;
+  left: 0px;
+  background-color: var(--jp-ui-inverse-font-color1);
+  -webkit-transition: 0.4s;
+  transition: 0.4s;
+  border-radius: 50%;
+}
+
+.jp-switch[aria-checked='true'] .jp-switch-track {
+  background-color: var(--jp-warn-color0);
+}
+
+.jp-switch[aria-checked='true'] .jp-switch-track::before {
+  /* track width (35) - margins (3 + 3) - thumb width (10) */
+  left: 19px;
+}
+
+/*-----------------------------------------------------------------------------
+| Copyright (c) Jupyter Development Team.
+| Distributed under the terms of the Modified BSD License.
+|----------------------------------------------------------------------------*/
+
+/* Sibling imports */
+
+/* Override Blueprint's _reset.scss styles */
+html {
+  box-sizing: unset;
+}
+
+*,
+*::before,
+*::after {
+  box-sizing: unset;
+}
+
+body {
+  color: unset;
+  font-family: var(--jp-ui-font-family);
+}
+
+p {
+  margin-top: unset;
+  margin-bottom: unset;
+}
+
+small {
+  font-size: unset;
+}
+
+strong {
+  font-weight: unset;
+}
+
+/* Override Blueprint's _typography.scss styles */
+a {
+  text-decoration: unset;
+  color: unset;
+}
+a:hover {
+  text-decoration: unset;
+  color: unset;
+}
+
+/* Override Blueprint's _accessibility.scss styles */
+:focus {
+  outline: unset;
+  outline-offset: unset;
+  -moz-outline-radius: unset;
+}
+
+/* Styles for ui-components */
+.jp-Button {
+  border-radius: var(--jp-border-radius);
+  padding: 0px 12px;
+  font-size: var(--jp-ui-font-size1);
+}
+
+/* Use our own theme for hover styles */
+button.jp-Button.bp3-button.bp3-minimal:hover {
+  background-color: var(--jp-layout-color2);
+}
+.jp-Button.minimal {
+  color: unset !important;
+}
+
+.jp-Button.jp-ToolbarButtonComponent {
+  text-transform: none;
+}
+
+.jp-InputGroup input {
+  box-sizing: border-box;
+  border-radius: 0;
+  background-color: transparent;
+  color: var(--jp-ui-font-color0);
+  box-shadow: inset 0 0 0 var(--jp-border-width) var(--jp-input-border-color);
+}
+
+.jp-InputGroup input:focus {
+  box-shadow: inset 0 0 0 var(--jp-border-width)
+      var(--jp-input-active-box-shadow-color),
+    inset 0 0 0 3px var(--jp-input-active-box-shadow-color);
+}
+
+.jp-InputGroup input::placeholder,
+input::placeholder {
+  color: var(--jp-ui-font-color3);
+}
+
+.jp-BPIcon {
+  display: inline-block;
+  vertical-align: middle;
+  margin: auto;
+}
+
+/* Stop blueprint futzing with our icon fills */
+.bp3-icon.jp-BPIcon > svg:not([fill]) {
+  fill: var(--jp-inverse-layout-color3);
+}
+
+.jp-InputGroupAction {
+  padding: 6px;
+}
+
+.jp-HTMLSelect.jp-DefaultStyle select {
+  background-color: initial;
+  border: none;
+  border-radius: 0;
+  box-shadow: none;
+  color: var(--jp-ui-font-color0);
+  display: block;
+  font-size: var(--jp-ui-font-size1);
+  height: 24px;
+  line-height: 14px;
+  padding: 0 25px 0 10px;
+  text-align: left;
+  -moz-appearance: none;
+  -webkit-appearance: none;
+}
+
+/* Use our own theme for hover and option styles */
+.jp-HTMLSelect.jp-DefaultStyle select:hover,
+.jp-HTMLSelect.jp-DefaultStyle select > option {
+  background-color: var(--jp-layout-color2);
+  color: var(--jp-ui-font-color0);
+}
+select {
+  box-sizing: border-box;
+}
+
+/*-----------------------------------------------------------------------------
+| Copyright (c) Jupyter Development Team.
+| Distributed under the terms of the Modified BSD License.
+|----------------------------------------------------------------------------*/
+
+.jp-Collapse {
+  display: flex;
+  flex-direction: column;
+  align-items: stretch;
+  border-top: 1px solid var(--jp-border-color2);
+  border-bottom: 1px solid var(--jp-border-color2);
+}
+
+.jp-Collapse-header {
+  padding: 1px 12px;
+  color: var(--jp-ui-font-color1);
+  background-color: var(--jp-layout-color1);
+  font-size: var(--jp-ui-font-size2);
+}
+
+.jp-Collapse-header:hover {
+  background-color: var(--jp-layout-color2);
+}
+
+.jp-Collapse-contents {
+  padding: 0px 12px 0px 12px;
+  background-color: var(--jp-layout-color1);
+  color: var(--jp-ui-font-color1);
+  overflow: auto;
+}
+
+/*-----------------------------------------------------------------------------
+| Copyright (c) Jupyter Development Team.
+| Distributed under the terms of the Modified BSD License.
+|----------------------------------------------------------------------------*/
+
+/*-----------------------------------------------------------------------------
+| Variables
+|----------------------------------------------------------------------------*/
+
+:root {
+  --jp-private-commandpalette-search-height: 28px;
+}
+
+/*-----------------------------------------------------------------------------
+| Overall styles
+|----------------------------------------------------------------------------*/
+
+.lm-CommandPalette {
+  padding-bottom: 0px;
+  color: var(--jp-ui-font-color1);
+  background: var(--jp-layout-color1);
+  /* This is needed so that all font sizing of children done in ems is
+   * relative to this base size */
+  font-size: var(--jp-ui-font-size1);
+}
+
+/*-----------------------------------------------------------------------------
+| Modal variant
+|----------------------------------------------------------------------------*/
+
+.jp-ModalCommandPalette {
+  position: absolute;
+  z-index: 10000;
+  top: 38px;
+  left: 30%;
+  margin: 0;
+  padding: 4px;
+  width: 40%;
+  box-shadow: var(--jp-elevation-z4);
+  border-radius: 4px;
+  background: var(--jp-layout-color0);
+}
+
+.jp-ModalCommandPalette .lm-CommandPalette {
+  max-height: 40vh;
+}
+
+.jp-ModalCommandPalette .lm-CommandPalette .lm-close-icon::after {
+  display: none;
+}
+
+.jp-ModalCommandPalette .lm-CommandPalette .lm-CommandPalette-header {
+  display: none;
+}
+
+.jp-ModalCommandPalette .lm-CommandPalette .lm-CommandPalette-item {
+  margin-left: 4px;
+  margin-right: 4px;
+}
+
+.jp-ModalCommandPalette
+  .lm-CommandPalette
+  .lm-CommandPalette-item.lm-mod-disabled {
+  display: none;
+}
+
+/*-----------------------------------------------------------------------------
+| Search
+|----------------------------------------------------------------------------*/
+
+.lm-CommandPalette-search {
+  padding: 4px;
+  background-color: var(--jp-layout-color1);
+  z-index: 2;
+}
+
+.lm-CommandPalette-wrapper {
+  overflow: overlay;
+  padding: 0px 9px;
+  background-color: var(--jp-input-active-background);
+  height: 30px;
+  box-shadow: inset 0 0 0 var(--jp-border-width) var(--jp-input-border-color);
+}
+
+.lm-CommandPalette.lm-mod-focused .lm-CommandPalette-wrapper {
+  box-shadow: inset 0 0 0 1px var(--jp-input-active-box-shadow-color),
+    inset 0 0 0 3px var(--jp-input-active-box-shadow-color);
+}
+
+.lm-CommandPalette-wrapper::after {
+  content: ' ';
+  color: white;
+  background-color: var(--jp-brand-color1);
+  position: absolute;
+  top: 4px;
+  right: 4px;
+  height: 30px;
+  width: 10px;
+  padding: 0px 10px;
+  background-image: var(--jp-icon-search-white);
+  background-size: 20px;
+  background-repeat: no-repeat;
+  background-position: center;
+}
+
+.lm-CommandPalette-input {
+  background: transparent;
+  width: calc(100% - 18px);
+  float: left;
+  border: none;
+  outline: none;
+  font-size: var(--jp-ui-font-size1);
+  color: var(--jp-ui-font-color0);
+  line-height: var(--jp-private-commandpalette-search-height);
+}
+
+.lm-CommandPalette-input::-webkit-input-placeholder,
+.lm-CommandPalette-input::-moz-placeholder,
+.lm-CommandPalette-input:-ms-input-placeholder {
+  color: var(--jp-ui-font-color3);
+  font-size: var(--jp-ui-font-size1);
+}
+
+/*-----------------------------------------------------------------------------
+| Results
+|----------------------------------------------------------------------------*/
+
+.lm-CommandPalette-header:first-child {
+  margin-top: 0px;
+}
+
+.lm-CommandPalette-header {
+  border-bottom: solid var(--jp-border-width) var(--jp-border-color2);
+  color: var(--jp-ui-font-color1);
+  cursor: pointer;
+  display: flex;
+  font-size: var(--jp-ui-font-size0);
+  font-weight: 600;
+  letter-spacing: 1px;
+  margin-top: 8px;
+  padding: 8px 0 8px 12px;
+  text-transform: uppercase;
+}
+
+.lm-CommandPalette-header.lm-mod-active {
+  background: var(--jp-layout-color2);
+}
+
+.lm-CommandPalette-header > mark {
+  background-color: transparent;
+  font-weight: bold;
+  color: var(--jp-ui-font-color1);
+}
+
+.lm-CommandPalette-item {
+  padding: 4px 12px 4px 4px;
+  color: var(--jp-ui-font-color1);
+  font-size: var(--jp-ui-font-size1);
+  font-weight: 400;
+  display: flex;
+}
+
+.lm-CommandPalette-item.lm-mod-disabled {
+  color: var(--jp-ui-font-color3);
+}
+
+.lm-CommandPalette-item.lm-mod-active {
+  background: var(--jp-layout-color3);
+}
+
+.lm-CommandPalette-item.lm-mod-active:hover:not(.lm-mod-disabled) {
+  background: var(--jp-layout-color4);
+}
+
+.lm-CommandPalette-item:hover:not(.lm-mod-active):not(.lm-mod-disabled) {
+  background: var(--jp-layout-color2);
+}
+
+.lm-CommandPalette-itemContent {
+  overflow: hidden;
+}
+
+.lm-CommandPalette-itemLabel > mark {
+  color: var(--jp-ui-font-color0);
+  background-color: transparent;
+  font-weight: bold;
+}
+
+.lm-CommandPalette-item.lm-mod-disabled mark {
+  color: var(--jp-ui-font-color3);
+}
+
+.lm-CommandPalette-item .lm-CommandPalette-itemIcon {
+  margin: 0 4px 0 0;
+  position: relative;
+  width: 16px;
+  top: 2px;
+  flex: 0 0 auto;
+}
+
+.lm-CommandPalette-item.lm-mod-disabled .lm-CommandPalette-itemIcon {
+  opacity: 0.4;
+}
+
+.lm-CommandPalette-item .lm-CommandPalette-itemShortcut {
+  flex: 0 0 auto;
+}
+
+.lm-CommandPalette-itemCaption {
+  display: none;
+}
+
+.lm-CommandPalette-content {
+  background-color: var(--jp-layout-color1);
+}
+
+.lm-CommandPalette-content:empty:after {
+  content: 'No results';
+  margin: auto;
+  margin-top: 20px;
+  width: 100px;
+  display: block;
+  font-size: var(--jp-ui-font-size2);
+  font-family: var(--jp-ui-font-family);
+  font-weight: lighter;
+}
+
+.lm-CommandPalette-emptyMessage {
+  text-align: center;
+  margin-top: 24px;
+  line-height: 1.32;
+  padding: 0px 8px;
+  color: var(--jp-content-font-color3);
+}
+
+/*-----------------------------------------------------------------------------
+| Copyright (c) 2014-2017, Jupyter Development Team.
+|
+| Distributed under the terms of the Modified BSD License.
+|----------------------------------------------------------------------------*/
+
+.jp-Dialog {
+  position: absolute;
+  z-index: 10000;
+  display: flex;
+  flex-direction: column;
+  align-items: center;
+  justify-content: center;
+  top: 0px;
+  left: 0px;
+  margin: 0;
+  padding: 0;
+  width: 100%;
+  height: 100%;
+  background: var(--jp-dialog-background);
+}
+
+.jp-Dialog-content {
+  display: flex;
+  flex-direction: column;
+  margin-left: auto;
+  margin-right: auto;
+  background: var(--jp-layout-color1);
+  padding: 24px;
+  padding-bottom: 12px;
+  min-width: 300px;
+  min-height: 150px;
+  max-width: 1000px;
+  max-height: 500px;
+  box-sizing: border-box;
+  box-shadow: var(--jp-elevation-z20);
+  word-wrap: break-word;
+  border-radius: var(--jp-border-radius);
+  /* This is needed so that all font sizing of children done in ems is
+   * relative to this base size */
+  font-size: var(--jp-ui-font-size1);
+  color: var(--jp-ui-font-color1);
+  resize: both;
+}
+
+.jp-Dialog-button {
+  overflow: visible;
+}
+
+button.jp-Dialog-button:focus {
+  outline: 1px solid var(--jp-brand-color1);
+  outline-offset: 4px;
+  -moz-outline-radius: 0px;
+}
+
+button.jp-Dialog-button:focus::-moz-focus-inner {
+  border: 0;
+}
+
+button.jp-Dialog-close-button {
+  padding: 0;
+  height: 100%;
+  min-width: unset;
+  min-height: unset;
+}
+
+.jp-Dialog-header {
+  display: flex;
+  justify-content: space-between;
+  flex: 0 0 auto;
+  padding-bottom: 12px;
+  font-size: var(--jp-ui-font-size3);
+  font-weight: 400;
+  color: var(--jp-ui-font-color0);
+}
+
+.jp-Dialog-body {
+  display: flex;
+  flex-direction: column;
+  flex: 1 1 auto;
+  font-size: var(--jp-ui-font-size1);
+  background: var(--jp-layout-color1);
+  overflow: auto;
+}
+
+.jp-Dialog-footer {
+  display: flex;
+  flex-direction: row;
+  justify-content: flex-end;
+  flex: 0 0 auto;
+  margin-left: -12px;
+  margin-right: -12px;
+  padding: 12px;
+}
+
+.jp-Dialog-title {
+  overflow: hidden;
+  white-space: nowrap;
+  text-overflow: ellipsis;
+}
+
+.jp-Dialog-body > .jp-select-wrapper {
+  width: 100%;
+}
+
+.jp-Dialog-body > button {
+  padding: 0px 16px;
+}
+
+.jp-Dialog-body > label {
+  line-height: 1.4;
+  color: var(--jp-ui-font-color0);
+}
+
+.jp-Dialog-button.jp-mod-styled:not(:last-child) {
+  margin-right: 12px;
+}
+
+/*-----------------------------------------------------------------------------
+| Copyright (c) 2014-2016, Jupyter Development Team.
+|
+| Distributed under the terms of the Modified BSD License.
+|----------------------------------------------------------------------------*/
+
+.jp-HoverBox {
+  position: fixed;
+}
+
+.jp-HoverBox.jp-mod-outofview {
+  display: none;
+}
+
+/*-----------------------------------------------------------------------------
+| Copyright (c) Jupyter Development Team.
+| Distributed under the terms of the Modified BSD License.
+|----------------------------------------------------------------------------*/
+
+.jp-IFrame {
+  width: 100%;
+  height: 100%;
+}
+
+.jp-IFrame > iframe {
+  border: none;
+}
+
+/*
+When drag events occur, `p-mod-override-cursor` is added to the body.
+Because iframes steal all cursor events, the following two rules are necessary
+to suppress pointer events while resize drags are occurring. There may be a
+better solution to this problem.
+*/
+body.lm-mod-override-cursor .jp-IFrame {
+  position: relative;
+}
+
+body.lm-mod-override-cursor .jp-IFrame:before {
+  content: '';
+  position: absolute;
+  top: 0;
+  left: 0;
+  right: 0;
+  bottom: 0;
+  background: transparent;
+}
+
+/*-----------------------------------------------------------------------------
+| Copyright (c) 2014-2016, Jupyter Development Team.
+|
+| Distributed under the terms of the Modified BSD License.
+|----------------------------------------------------------------------------*/
+
+.jp-MainAreaWidget > :focus {
+  outline: none;
+}
+
+/**
+ * google-material-color v1.2.6
+ * https://github.com/danlevan/google-material-color
+ */
+:root {
+  --md-red-50: #ffebee;
+  --md-red-100: #ffcdd2;
+  --md-red-200: #ef9a9a;
+  --md-red-300: #e57373;
+  --md-red-400: #ef5350;
+  --md-red-500: #f44336;
+  --md-red-600: #e53935;
+  --md-red-700: #d32f2f;
+  --md-red-800: #c62828;
+  --md-red-900: #b71c1c;
+  --md-red-A100: #ff8a80;
+  --md-red-A200: #ff5252;
+  --md-red-A400: #ff1744;
+  --md-red-A700: #d50000;
+
+  --md-pink-50: #fce4ec;
+  --md-pink-100: #f8bbd0;
+  --md-pink-200: #f48fb1;
+  --md-pink-300: #f06292;
+  --md-pink-400: #ec407a;
+  --md-pink-500: #e91e63;
+  --md-pink-600: #d81b60;
+  --md-pink-700: #c2185b;
+  --md-pink-800: #ad1457;
+  --md-pink-900: #880e4f;
+  --md-pink-A100: #ff80ab;
+  --md-pink-A200: #ff4081;
+  --md-pink-A400: #f50057;
+  --md-pink-A700: #c51162;
+
+  --md-purple-50: #f3e5f5;
+  --md-purple-100: #e1bee7;
+  --md-purple-200: #ce93d8;
+  --md-purple-300: #ba68c8;
+  --md-purple-400: #ab47bc;
+  --md-purple-500: #9c27b0;
+  --md-purple-600: #8e24aa;
+  --md-purple-700: #7b1fa2;
+  --md-purple-800: #6a1b9a;
+  --md-purple-900: #4a148c;
+  --md-purple-A100: #ea80fc;
+  --md-purple-A200: #e040fb;
+  --md-purple-A400: #d500f9;
+  --md-purple-A700: #aa00ff;
+
+  --md-deep-purple-50: #ede7f6;
+  --md-deep-purple-100: #d1c4e9;
+  --md-deep-purple-200: #b39ddb;
+  --md-deep-purple-300: #9575cd;
+  --md-deep-purple-400: #7e57c2;
+  --md-deep-purple-500: #673ab7;
+  --md-deep-purple-600: #5e35b1;
+  --md-deep-purple-700: #512da8;
+  --md-deep-purple-800: #4527a0;
+  --md-deep-purple-900: #311b92;
+  --md-deep-purple-A100: #b388ff;
+  --md-deep-purple-A200: #7c4dff;
+  --md-deep-purple-A400: #651fff;
+  --md-deep-purple-A700: #6200ea;
+
+  --md-indigo-50: #e8eaf6;
+  --md-indigo-100: #c5cae9;
+  --md-indigo-200: #9fa8da;
+  --md-indigo-300: #7986cb;
+  --md-indigo-400: #5c6bc0;
+  --md-indigo-500: #3f51b5;
+  --md-indigo-600: #3949ab;
+  --md-indigo-700: #303f9f;
+  --md-indigo-800: #283593;
+  --md-indigo-900: #1a237e;
+  --md-indigo-A100: #8c9eff;
+  --md-indigo-A200: #536dfe;
+  --md-indigo-A400: #3d5afe;
+  --md-indigo-A700: #304ffe;
+
+  --md-blue-50: #e3f2fd;
+  --md-blue-100: #bbdefb;
+  --md-blue-200: #90caf9;
+  --md-blue-300: #64b5f6;
+  --md-blue-400: #42a5f5;
+  --md-blue-500: #2196f3;
+  --md-blue-600: #1e88e5;
+  --md-blue-700: #1976d2;
+  --md-blue-800: #1565c0;
+  --md-blue-900: #0d47a1;
+  --md-blue-A100: #82b1ff;
+  --md-blue-A200: #448aff;
+  --md-blue-A400: #2979ff;
+  --md-blue-A700: #2962ff;
+
+  --md-light-blue-50: #e1f5fe;
+  --md-light-blue-100: #b3e5fc;
+  --md-light-blue-200: #81d4fa;
+  --md-light-blue-300: #4fc3f7;
+  --md-light-blue-400: #29b6f6;
+  --md-light-blue-500: #03a9f4;
+  --md-light-blue-600: #039be5;
+  --md-light-blue-700: #0288d1;
+  --md-light-blue-800: #0277bd;
+  --md-light-blue-900: #01579b;
+  --md-light-blue-A100: #80d8ff;
+  --md-light-blue-A200: #40c4ff;
+  --md-light-blue-A400: #00b0ff;
+  --md-light-blue-A700: #0091ea;
+
+  --md-cyan-50: #e0f7fa;
+  --md-cyan-100: #b2ebf2;
+  --md-cyan-200: #80deea;
+  --md-cyan-300: #4dd0e1;
+  --md-cyan-400: #26c6da;
+  --md-cyan-500: #00bcd4;
+  --md-cyan-600: #00acc1;
+  --md-cyan-700: #0097a7;
+  --md-cyan-800: #00838f;
+  --md-cyan-900: #006064;
+  --md-cyan-A100: #84ffff;
+  --md-cyan-A200: #18ffff;
+  --md-cyan-A400: #00e5ff;
+  --md-cyan-A700: #00b8d4;
+
+  --md-teal-50: #e0f2f1;
+  --md-teal-100: #b2dfdb;
+  --md-teal-200: #80cbc4;
+  --md-teal-300: #4db6ac;
+  --md-teal-400: #26a69a;
+  --md-teal-500: #009688;
+  --md-teal-600: #00897b;
+  --md-teal-700: #00796b;
+  --md-teal-800: #00695c;
+  --md-teal-900: #004d40;
+  --md-teal-A100: #a7ffeb;
+  --md-teal-A200: #64ffda;
+  --md-teal-A400: #1de9b6;
+  --md-teal-A700: #00bfa5;
+
+  --md-green-50: #e8f5e9;
+  --md-green-100: #c8e6c9;
+  --md-green-200: #a5d6a7;
+  --md-green-300: #81c784;
+  --md-green-400: #66bb6a;
+  --md-green-500: #4caf50;
+  --md-green-600: #43a047;
+  --md-green-700: #388e3c;
+  --md-green-800: #2e7d32;
+  --md-green-900: #1b5e20;
+  --md-green-A100: #b9f6ca;
+  --md-green-A200: #69f0ae;
+  --md-green-A400: #00e676;
+  --md-green-A700: #00c853;
+
+  --md-light-green-50: #f1f8e9;
+  --md-light-green-100: #dcedc8;
+  --md-light-green-200: #c5e1a5;
+  --md-light-green-300: #aed581;
+  --md-light-green-400: #9ccc65;
+  --md-light-green-500: #8bc34a;
+  --md-light-green-600: #7cb342;
+  --md-light-green-700: #689f38;
+  --md-light-green-800: #558b2f;
+  --md-light-green-900: #33691e;
+  --md-light-green-A100: #ccff90;
+  --md-light-green-A200: #b2ff59;
+  --md-light-green-A400: #76ff03;
+  --md-light-green-A700: #64dd17;
+
+  --md-lime-50: #f9fbe7;
+  --md-lime-100: #f0f4c3;
+  --md-lime-200: #e6ee9c;
+  --md-lime-300: #dce775;
+  --md-lime-400: #d4e157;
+  --md-lime-500: #cddc39;
+  --md-lime-600: #c0ca33;
+  --md-lime-700: #afb42b;
+  --md-lime-800: #9e9d24;
+  --md-lime-900: #827717;
+  --md-lime-A100: #f4ff81;
+  --md-lime-A200: #eeff41;
+  --md-lime-A400: #c6ff00;
+  --md-lime-A700: #aeea00;
+
+  --md-yellow-50: #fffde7;
+  --md-yellow-100: #fff9c4;
+  --md-yellow-200: #fff59d;
+  --md-yellow-300: #fff176;
+  --md-yellow-400: #ffee58;
+  --md-yellow-500: #ffeb3b;
+  --md-yellow-600: #fdd835;
+  --md-yellow-700: #fbc02d;
+  --md-yellow-800: #f9a825;
+  --md-yellow-900: #f57f17;
+  --md-yellow-A100: #ffff8d;
+  --md-yellow-A200: #ffff00;
+  --md-yellow-A400: #ffea00;
+  --md-yellow-A700: #ffd600;
+
+  --md-amber-50: #fff8e1;
+  --md-amber-100: #ffecb3;
+  --md-amber-200: #ffe082;
+  --md-amber-300: #ffd54f;
+  --md-amber-400: #ffca28;
+  --md-amber-500: #ffc107;
+  --md-amber-600: #ffb300;
+  --md-amber-700: #ffa000;
+  --md-amber-800: #ff8f00;
+  --md-amber-900: #ff6f00;
+  --md-amber-A100: #ffe57f;
+  --md-amber-A200: #ffd740;
+  --md-amber-A400: #ffc400;
+  --md-amber-A700: #ffab00;
+
+  --md-orange-50: #fff3e0;
+  --md-orange-100: #ffe0b2;
+  --md-orange-200: #ffcc80;
+  --md-orange-300: #ffb74d;
+  --md-orange-400: #ffa726;
+  --md-orange-500: #ff9800;
+  --md-orange-600: #fb8c00;
+  --md-orange-700: #f57c00;
+  --md-orange-800: #ef6c00;
+  --md-orange-900: #e65100;
+  --md-orange-A100: #ffd180;
+  --md-orange-A200: #ffab40;
+  --md-orange-A400: #ff9100;
+  --md-orange-A700: #ff6d00;
+
+  --md-deep-orange-50: #fbe9e7;
+  --md-deep-orange-100: #ffccbc;
+  --md-deep-orange-200: #ffab91;
+  --md-deep-orange-300: #ff8a65;
+  --md-deep-orange-400: #ff7043;
+  --md-deep-orange-500: #ff5722;
+  --md-deep-orange-600: #f4511e;
+  --md-deep-orange-700: #e64a19;
+  --md-deep-orange-800: #d84315;
+  --md-deep-orange-900: #bf360c;
+  --md-deep-orange-A100: #ff9e80;
+  --md-deep-orange-A200: #ff6e40;
+  --md-deep-orange-A400: #ff3d00;
+  --md-deep-orange-A700: #dd2c00;
+
+  --md-brown-50: #efebe9;
+  --md-brown-100: #d7ccc8;
+  --md-brown-200: #bcaaa4;
+  --md-brown-300: #a1887f;
+  --md-brown-400: #8d6e63;
+  --md-brown-500: #795548;
+  --md-brown-600: #6d4c41;
+  --md-brown-700: #5d4037;
+  --md-brown-800: #4e342e;
+  --md-brown-900: #3e2723;
+
+  --md-grey-50: #fafafa;
+  --md-grey-100: #f5f5f5;
+  --md-grey-200: #eeeeee;
+  --md-grey-300: #e0e0e0;
+  --md-grey-400: #bdbdbd;
+  --md-grey-500: #9e9e9e;
+  --md-grey-600: #757575;
+  --md-grey-700: #616161;
+  --md-grey-800: #424242;
+  --md-grey-900: #212121;
+
+  --md-blue-grey-50: #eceff1;
+  --md-blue-grey-100: #cfd8dc;
+  --md-blue-grey-200: #b0bec5;
+  --md-blue-grey-300: #90a4ae;
+  --md-blue-grey-400: #78909c;
+  --md-blue-grey-500: #607d8b;
+  --md-blue-grey-600: #546e7a;
+  --md-blue-grey-700: #455a64;
+  --md-blue-grey-800: #37474f;
+  --md-blue-grey-900: #263238;
+}
+
+/*-----------------------------------------------------------------------------
+| Copyright (c) 2017, Jupyter Development Team.
+|
+| Distributed under the terms of the Modified BSD License.
+|----------------------------------------------------------------------------*/
+
+.jp-Spinner {
+  position: absolute;
+  display: flex;
+  justify-content: center;
+  align-items: center;
+  z-index: 10;
+  left: 0;
+  top: 0;
+  width: 100%;
+  height: 100%;
+  background: var(--jp-layout-color0);
+  outline: none;
+}
+
+.jp-SpinnerContent {
+  font-size: 10px;
+  margin: 50px auto;
+  text-indent: -9999em;
+  width: 3em;
+  height: 3em;
+  border-radius: 50%;
+  background: var(--jp-brand-color3);
+  background: linear-gradient(
+    to right,
+    #f37626 10%,
+    rgba(255, 255, 255, 0) 42%
+  );
+  position: relative;
+  animation: load3 1s infinite linear, fadeIn 1s;
+}
+
+.jp-SpinnerContent:before {
+  width: 50%;
+  height: 50%;
+  background: #f37626;
+  border-radius: 100% 0 0 0;
+  position: absolute;
+  top: 0;
+  left: 0;
+  content: '';
+}
+
+.jp-SpinnerContent:after {
+  background: var(--jp-layout-color0);
+  width: 75%;
+  height: 75%;
+  border-radius: 50%;
+  content: '';
+  margin: auto;
+  position: absolute;
+  top: 0;
+  left: 0;
+  bottom: 0;
+  right: 0;
+}
+
+@keyframes fadeIn {
+  0% {
+    opacity: 0;
+  }
+  100% {
+    opacity: 1;
+  }
+}
+
+@keyframes load3 {
+  0% {
+    transform: rotate(0deg);
+  }
+  100% {
+    transform: rotate(360deg);
+  }
+}
+
+/*-----------------------------------------------------------------------------
+| Copyright (c) 2014-2017, Jupyter Development Team.
+|
+| Distributed under the terms of the Modified BSD License.
+|----------------------------------------------------------------------------*/
+
+button.jp-mod-styled {
+  font-size: var(--jp-ui-font-size1);
+  color: var(--jp-ui-font-color0);
+  border: none;
+  box-sizing: border-box;
+  text-align: center;
+  line-height: 32px;
+  height: 32px;
+  padding: 0px 12px;
+  letter-spacing: 0.8px;
+  outline: none;
+  appearance: none;
+  -webkit-appearance: none;
+  -moz-appearance: none;
+}
+
+input.jp-mod-styled {
+  background: var(--jp-input-background);
+  height: 28px;
+  box-sizing: border-box;
+  border: var(--jp-border-width) solid var(--jp-border-color1);
+  padding-left: 7px;
+  padding-right: 7px;
+  font-size: var(--jp-ui-font-size2);
+  color: var(--jp-ui-font-color0);
+  outline: none;
+  appearance: none;
+  -webkit-appearance: none;
+  -moz-appearance: none;
+}
+
+input.jp-mod-styled:focus {
+  border: var(--jp-border-width) solid var(--md-blue-500);
+  box-shadow: inset 0 0 4px var(--md-blue-300);
+}
+
+.jp-select-wrapper {
+  display: flex;
+  position: relative;
+  flex-direction: column;
+  padding: 1px;
+  background-color: var(--jp-layout-color1);
+  height: 28px;
+  box-sizing: border-box;
+  margin-bottom: 12px;
+}
+
+.jp-select-wrapper.jp-mod-focused select.jp-mod-styled {
+  border: var(--jp-border-width) solid var(--jp-input-active-border-color);
+  box-shadow: var(--jp-input-box-shadow);
+  background-color: var(--jp-input-active-background);
+}
+
+select.jp-mod-styled:hover {
+  background-color: var(--jp-layout-color1);
+  cursor: pointer;
+  color: var(--jp-ui-font-color0);
+  background-color: var(--jp-input-hover-background);
+  box-shadow: inset 0 0px 1px rgba(0, 0, 0, 0.5);
+}
+
+select.jp-mod-styled {
+  flex: 1 1 auto;
+  height: 32px;
+  width: 100%;
+  font-size: var(--jp-ui-font-size2);
+  background: var(--jp-input-background);
+  color: var(--jp-ui-font-color0);
+  padding: 0 25px 0 8px;
+  border: var(--jp-border-width) solid var(--jp-input-border-color);
+  border-radius: 0px;
+  outline: none;
+  appearance: none;
+  -webkit-appearance: none;
+  -moz-appearance: none;
+}
+
+/*-----------------------------------------------------------------------------
+| Copyright (c) 2014-2016, Jupyter Development Team.
+|
+| Distributed under the terms of the Modified BSD License.
+|----------------------------------------------------------------------------*/
+
+:root {
+  --jp-private-toolbar-height: calc(
+    28px + var(--jp-border-width)
+  ); /* leave 28px for content */
+}
+
+.jp-Toolbar {
+  color: var(--jp-ui-font-color1);
+  flex: 0 0 auto;
+  display: flex;
+  flex-direction: row;
+  border-bottom: var(--jp-border-width) solid var(--jp-toolbar-border-color);
+  box-shadow: var(--jp-toolbar-box-shadow);
+  background: var(--jp-toolbar-background);
+  min-height: var(--jp-toolbar-micro-height);
+  padding: 2px;
+  z-index: 1;
+  overflow-x: hidden;
+}
+
+.jp-Toolbar:hover {
+  overflow-x: auto;
+}
+
+/* Toolbar items */
+
+.jp-Toolbar > .jp-Toolbar-item.jp-Toolbar-spacer {
+  flex-grow: 1;
+  flex-shrink: 1;
+}
+
+.jp-Toolbar-item.jp-Toolbar-kernelStatus {
+  display: inline-block;
+  width: 32px;
+  background-repeat: no-repeat;
+  background-position: center;
+  background-size: 16px;
+}
+
+.jp-Toolbar > .jp-Toolbar-item {
+  flex: 0 0 auto;
+  display: flex;
+  padding-left: 1px;
+  padding-right: 1px;
+  font-size: var(--jp-ui-font-size1);
+  line-height: var(--jp-private-toolbar-height);
+  height: 100%;
+}
+
+/* Toolbar buttons */
+
+/* This is the div we use to wrap the react component into a Widget */
+div.jp-ToolbarButton {
+  color: transparent;
+  border: none;
+  box-sizing: border-box;
+  outline: none;
+  appearance: none;
+  -webkit-appearance: none;
+  -moz-appearance: none;
+  padding: 0px;
+  margin: 0px;
+}
+
+button.jp-ToolbarButtonComponent {
+  background: var(--jp-layout-color1);
+  border: none;
+  box-sizing: border-box;
+  outline: none;
+  appearance: none;
+  -webkit-appearance: none;
+  -moz-appearance: none;
+  padding: 0px 6px;
+  margin: 0px;
+  height: 24px;
+  border-radius: var(--jp-border-radius);
+  display: flex;
+  align-items: center;
+  text-align: center;
+  font-size: 14px;
+  min-width: unset;
+  min-height: unset;
+}
+
+button.jp-ToolbarButtonComponent:disabled {
+  opacity: 0.4;
+}
+
+button.jp-ToolbarButtonComponent span {
+  padding: 0px;
+  flex: 0 0 auto;
+}
+
+button.jp-ToolbarButtonComponent .jp-ToolbarButtonComponent-label {
+  font-size: var(--jp-ui-font-size1);
+  line-height: 100%;
+  padding-left: 2px;
+  color: var(--jp-ui-font-color1);
+}
+
+#jp-main-dock-panel[data-mode='single-document']
+  .jp-MainAreaWidget
+  > .jp-Toolbar.jp-Toolbar-micro {
+  padding: 0;
+  min-height: 0;
+}
+
+#jp-main-dock-panel[data-mode='single-document']
+  .jp-MainAreaWidget
+  > .jp-Toolbar {
+  border: none;
+  box-shadow: none;
+}
+
+/*-----------------------------------------------------------------------------
+| Copyright (c) 2014-2017, Jupyter Development Team.
+|
+| Distributed under the terms of the Modified BSD License.
+|----------------------------------------------------------------------------*/
+
+/*-----------------------------------------------------------------------------
+| Copyright (c) Jupyter Development Team.
+| Copyright (c) 2014-2017, PhosphorJS Contributors
+|
+| Distributed under the terms of the BSD 3-Clause License.
+|
+| The full license is in the file LICENSE, distributed with this software.
+|----------------------------------------------------------------------------*/
+
+
+/* <DEPRECATED> */ body.p-mod-override-cursor *, /* </DEPRECATED> */
+body.lm-mod-override-cursor * {
+  cursor: inherit !important;
+}
+
+/*-----------------------------------------------------------------------------
+| Copyright (c) 2014-2016, Jupyter Development Team.
+|
+| Distributed under the terms of the Modified BSD License.
+|----------------------------------------------------------------------------*/
+
+.jp-JSONEditor {
+  display: flex;
+  flex-direction: column;
+  width: 100%;
+}
+
+.jp-JSONEditor-host {
+  flex: 1 1 auto;
+  border: var(--jp-border-width) solid var(--jp-input-border-color);
+  border-radius: 0px;
+  background: var(--jp-layout-color0);
+  min-height: 50px;
+  padding: 1px;
+}
+
+.jp-JSONEditor.jp-mod-error .jp-JSONEditor-host {
+  border-color: red;
+  outline-color: red;
+}
+
+.jp-JSONEditor-header {
+  display: flex;
+  flex: 1 0 auto;
+  padding: 0 0 0 12px;
+}
+
+.jp-JSONEditor-header label {
+  flex: 0 0 auto;
+}
+
+.jp-JSONEditor-commitButton {
+  height: 16px;
+  width: 16px;
+  background-size: 18px;
+  background-repeat: no-repeat;
+  background-position: center;
+}
+
+.jp-JSONEditor-host.jp-mod-focused {
+  background-color: var(--jp-input-active-background);
+  border: 1px solid var(--jp-input-active-border-color);
+  box-shadow: var(--jp-input-box-shadow);
+}
+
+.jp-Editor.jp-mod-dropTarget {
+  border: var(--jp-border-width) solid var(--jp-input-active-border-color);
+  box-shadow: var(--jp-input-box-shadow);
+}
+
+/* BASICS */
+
+.CodeMirror {
+  /* Set height, width, borders, and global font properties here */
+  font-family: monospace;
+  height: 300px;
+  color: black;
+  direction: ltr;
+}
+
+/* PADDING */
+
+.CodeMirror-lines {
+  padding: 4px 0; /* Vertical padding around content */
+}
+.CodeMirror pre.CodeMirror-line,
+.CodeMirror pre.CodeMirror-line-like {
+  padding: 0 4px; /* Horizontal padding of content */
+}
+
+.CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler {
+  background-color: white; /* The little square between H and V scrollbars */
+}
+
+/* GUTTER */
+
+.CodeMirror-gutters {
+  border-right: 1px solid #ddd;
+  background-color: #f7f7f7;
+  white-space: nowrap;
+}
+.CodeMirror-linenumbers {}
+.CodeMirror-linenumber {
+  padding: 0 3px 0 5px;
+  min-width: 20px;
+  text-align: right;
+  color: #999;
+  white-space: nowrap;
+}
+
+.CodeMirror-guttermarker { color: black; }
+.CodeMirror-guttermarker-subtle { color: #999; }
+
+/* CURSOR */
+
+.CodeMirror-cursor {
+  border-left: 1px solid black;
+  border-right: none;
+  width: 0;
+}
+/* Shown when moving in bi-directional text */
+.CodeMirror div.CodeMirror-secondarycursor {
+  border-left: 1px solid silver;
+}
+.cm-fat-cursor .CodeMirror-cursor {
+  width: auto;
+  border: 0 !important;
+  background: #7e7;
+}
+.cm-fat-cursor div.CodeMirror-cursors {
+  z-index: 1;
+}
+.cm-fat-cursor-mark {
+  background-color: rgba(20, 255, 20, 0.5);
+  -webkit-animation: blink 1.06s steps(1) infinite;
+  -moz-animation: blink 1.06s steps(1) infinite;
+  animation: blink 1.06s steps(1) infinite;
+}
+.cm-animate-fat-cursor {
+  width: auto;
+  border: 0;
+  -webkit-animation: blink 1.06s steps(1) infinite;
+  -moz-animation: blink 1.06s steps(1) infinite;
+  animation: blink 1.06s steps(1) infinite;
+  background-color: #7e7;
+}
+@-moz-keyframes blink {
+  0% {}
+  50% { background-color: transparent; }
+  100% {}
+}
+@-webkit-keyframes blink {
+  0% {}
+  50% { background-color: transparent; }
+  100% {}
+}
+@keyframes blink {
+  0% {}
+  50% { background-color: transparent; }
+  100% {}
+}
+
+/* Can style cursor different in overwrite (non-insert) mode */
+.CodeMirror-overwrite .CodeMirror-cursor {}
+
+.cm-tab { display: inline-block; text-decoration: inherit; }
+
+.CodeMirror-rulers {
+  position: absolute;
+  left: 0; right: 0; top: -50px; bottom: 0;
+  overflow: hidden;
+}
+.CodeMirror-ruler {
+  border-left: 1px solid #ccc;
+  top: 0; bottom: 0;
+  position: absolute;
+}
+
+/* DEFAULT THEME */
+
+.cm-s-default .cm-header {color: blue;}
+.cm-s-default .cm-quote {color: #090;}
+.cm-negative {color: #d44;}
+.cm-positive {color: #292;}
+.cm-header, .cm-strong {font-weight: bold;}
+.cm-em {font-style: italic;}
+.cm-link {text-decoration: underline;}
+.cm-strikethrough {text-decoration: line-through;}
+
+.cm-s-default .cm-keyword {color: #708;}
+.cm-s-default .cm-atom {color: #219;}
+.cm-s-default .cm-number {color: #164;}
+.cm-s-default .cm-def {color: #00f;}
+.cm-s-default .cm-variable,
+.cm-s-default .cm-punctuation,
+.cm-s-default .cm-property,
+.cm-s-default .cm-operator {}
+.cm-s-default .cm-variable-2 {color: #05a;}
+.cm-s-default .cm-variable-3, .cm-s-default .cm-type {color: #085;}
+.cm-s-default .cm-comment {color: #a50;}
+.cm-s-default .cm-string {color: #a11;}
+.cm-s-default .cm-string-2 {color: #f50;}
+.cm-s-default .cm-meta {color: #555;}
+.cm-s-default .cm-qualifier {color: #555;}
+.cm-s-default .cm-builtin {color: #30a;}
+.cm-s-default .cm-bracket {color: #997;}
+.cm-s-default .cm-tag {color: #170;}
+.cm-s-default .cm-attribute {color: #00c;}
+.cm-s-default .cm-hr {color: #999;}
+.cm-s-default .cm-link {color: #00c;}
+
+.cm-s-default .cm-error {color: #f00;}
+.cm-invalidchar {color: #f00;}
+
+.CodeMirror-composing { border-bottom: 2px solid; }
+
+/* Default styles for common addons */
+
+div.CodeMirror span.CodeMirror-matchingbracket {color: #0b0;}
+div.CodeMirror span.CodeMirror-nonmatchingbracket {color: #a22;}
+.CodeMirror-matchingtag { background: rgba(255, 150, 0, .3); }
+.CodeMirror-activeline-background {background: #e8f2ff;}
+
+/* STOP */
+
+/* The rest of this file contains styles related to the mechanics of
+   the editor. You probably shouldn't touch them. */
+
+.CodeMirror {
+  position: relative;
+  overflow: hidden;
+  background: white;
+}
+
+.CodeMirror-scroll {
+  overflow: scroll !important; /* Things will break if this is overridden */
+  /* 50px is the magic margin used to hide the element's real scrollbars */
+  /* See overflow: hidden in .CodeMirror */
+  margin-bottom: -50px; margin-right: -50px;
+  padding-bottom: 50px;
+  height: 100%;
+  outline: none; /* Prevent dragging from highlighting the element */
+  position: relative;
+}
+.CodeMirror-sizer {
+  position: relative;
+  border-right: 50px solid transparent;
+}
+
+/* The fake, visible scrollbars. Used to force redraw during scrolling
+   before actual scrolling happens, thus preventing shaking and
+   flickering artifacts. */
+.CodeMirror-vscrollbar, .CodeMirror-hscrollbar, .CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler {
+  position: absolute;
+  z-index: 6;
+  display: none;
+}
+.CodeMirror-vscrollbar {
+  right: 0; top: 0;
+  overflow-x: hidden;
+  overflow-y: scroll;
+}
+.CodeMirror-hscrollbar {
+  bottom: 0; left: 0;
+  overflow-y: hidden;
+  overflow-x: scroll;
+}
+.CodeMirror-scrollbar-filler {
+  right: 0; bottom: 0;
+}
+.CodeMirror-gutter-filler {
+  left: 0; bottom: 0;
+}
+
+.CodeMirror-gutters {
+  position: absolute; left: 0; top: 0;
+  min-height: 100%;
+  z-index: 3;
+}
+.CodeMirror-gutter {
+  white-space: normal;
+  height: 100%;
+  display: inline-block;
+  vertical-align: top;
+  margin-bottom: -50px;
+}
+.CodeMirror-gutter-wrapper {
+  position: absolute;
+  z-index: 4;
+  background: none !important;
+  border: none !important;
+}
+.CodeMirror-gutter-background {
+  position: absolute;
+  top: 0; bottom: 0;
+  z-index: 4;
+}
+.CodeMirror-gutter-elt {
+  position: absolute;
+  cursor: default;
+  z-index: 4;
+}
+.CodeMirror-gutter-wrapper ::selection { background-color: transparent }
+.CodeMirror-gutter-wrapper ::-moz-selection { background-color: transparent }
+
+.CodeMirror-lines {
+  cursor: text;
+  min-height: 1px; /* prevents collapsing before first draw */
+}
+.CodeMirror pre.CodeMirror-line,
+.CodeMirror pre.CodeMirror-line-like {
+  /* Reset some styles that the rest of the page might have set */
+  -moz-border-radius: 0; -webkit-border-radius: 0; border-radius: 0;
+  border-width: 0;
+  background: transparent;
+  font-family: inherit;
+  font-size: inherit;
+  margin: 0;
+  white-space: pre;
+  word-wrap: normal;
+  line-height: inherit;
+  color: inherit;
+  z-index: 2;
+  position: relative;
+  overflow: visible;
+  -webkit-tap-highlight-color: transparent;
+  -webkit-font-variant-ligatures: contextual;
+  font-variant-ligatures: contextual;
+}
+.CodeMirror-wrap pre.CodeMirror-line,
+.CodeMirror-wrap pre.CodeMirror-line-like {
+  word-wrap: break-word;
+  white-space: pre-wrap;
+  word-break: normal;
+}
+
+.CodeMirror-linebackground {
+  position: absolute;
+  left: 0; right: 0; top: 0; bottom: 0;
+  z-index: 0;
+}
+
+.CodeMirror-linewidget {
+  position: relative;
+  z-index: 2;
+  padding: 0.1px; /* Force widget margins to stay inside of the container */
+}
+
+.CodeMirror-widget {}
+
+.CodeMirror-rtl pre { direction: rtl; }
+
+.CodeMirror-code {
+  outline: none;
+}
+
+/* Force content-box sizing for the elements where we expect it */
+.CodeMirror-scroll,
+.CodeMirror-sizer,
+.CodeMirror-gutter,
+.CodeMirror-gutters,
+.CodeMirror-linenumber {
+  -moz-box-sizing: content-box;
+  box-sizing: content-box;
+}
+
+.CodeMirror-measure {
+  position: absolute;
+  width: 100%;
+  height: 0;
+  overflow: hidden;
+  visibility: hidden;
+}
+
+.CodeMirror-cursor {
+  position: absolute;
+  pointer-events: none;
+}
+.CodeMirror-measure pre { position: static; }
+
+div.CodeMirror-cursors {
+  visibility: hidden;
+  position: relative;
+  z-index: 3;
+}
+div.CodeMirror-dragcursors {
+  visibility: visible;
+}
+
+.CodeMirror-focused div.CodeMirror-cursors {
+  visibility: visible;
+}
+
+.CodeMirror-selected { background: #d9d9d9; }
+.CodeMirror-focused .CodeMirror-selected { background: #d7d4f0; }
+.CodeMirror-crosshair { cursor: crosshair; }
+.CodeMirror-line::selection, .CodeMirror-line > span::selection, .CodeMirror-line > span > span::selection { background: #d7d4f0; }
+.CodeMirror-line::-moz-selection, .CodeMirror-line > span::-moz-selection, .CodeMirror-line > span > span::-moz-selection { background: #d7d4f0; }
+
+.cm-searching {
+  background-color: #ffa;
+  background-color: rgba(255, 255, 0, .4);
+}
+
+/* Used to force a border model for a node */
+.cm-force-border { padding-right: .1px; }
+
+@media print {
+  /* Hide the cursor when printing */
+  .CodeMirror div.CodeMirror-cursors {
+    visibility: hidden;
+  }
+}
+
+/* See issue #2901 */
+.cm-tab-wrap-hack:after { content: ''; }
+
+/* Help users use markselection to safely style text background */
+span.CodeMirror-selectedtext { background: none; }
+
+.CodeMirror-dialog {
+  position: absolute;
+  left: 0; right: 0;
+  background: inherit;
+  z-index: 15;
+  padding: .1em .8em;
+  overflow: hidden;
+  color: inherit;
+}
+
+.CodeMirror-dialog-top {
+  border-bottom: 1px solid #eee;
+  top: 0;
+}
+
+.CodeMirror-dialog-bottom {
+  border-top: 1px solid #eee;
+  bottom: 0;
+}
+
+.CodeMirror-dialog input {
+  border: none;
+  outline: none;
+  background: transparent;
+  width: 20em;
+  color: inherit;
+  font-family: monospace;
+}
+
+.CodeMirror-dialog button {
+  font-size: 70%;
+}
+
+.CodeMirror-foldmarker {
+  color: blue;
+  text-shadow: #b9f 1px 1px 2px, #b9f -1px -1px 2px, #b9f 1px -1px 2px, #b9f -1px 1px 2px;
+  font-family: arial;
+  line-height: .3;
+  cursor: pointer;
+}
+.CodeMirror-foldgutter {
+  width: .7em;
+}
+.CodeMirror-foldgutter-open,
+.CodeMirror-foldgutter-folded {
+  cursor: pointer;
+}
+.CodeMirror-foldgutter-open:after {
+  content: "\25BE";
+}
+.CodeMirror-foldgutter-folded:after {
+  content: "\25B8";
+}
+
+/*-----------------------------------------------------------------------------
+| Copyright (c) Jupyter Development Team.
+| Distributed under the terms of the Modified BSD License.
+|----------------------------------------------------------------------------*/
+
+.CodeMirror {
+  line-height: var(--jp-code-line-height);
+  font-size: var(--jp-code-font-size);
+  font-family: var(--jp-code-font-family);
+  border: 0;
+  border-radius: 0;
+  height: auto;
+  /* Changed to auto to autogrow */
+}
+
+.CodeMirror pre {
+  padding: 0 var(--jp-code-padding);
+}
+
+.jp-CodeMirrorEditor[data-type='inline'] .CodeMirror-dialog {
+  background-color: var(--jp-layout-color0);
+  color: var(--jp-content-font-color1);
+}
+
+/* This causes https://github.com/jupyter/jupyterlab/issues/522 */
+/* May not cause it not because we changed it! */
+.CodeMirror-lines {
+  padding: var(--jp-code-padding) 0;
+}
+
+.CodeMirror-linenumber {
+  padding: 0 8px;
+}
+
+.jp-CodeMirrorEditor {
+  cursor: text;
+}
+
+.jp-CodeMirrorEditor[data-type='inline'] .CodeMirror-cursor {
+  border-left: var(--jp-code-cursor-width0) solid var(--jp-editor-cursor-color);
+}
+
+/* When zoomed out 67% and 33% on a screen of 1440 width x 900 height */
+@media screen and (min-width: 2138px) and (max-width: 4319px) {
+  .jp-CodeMirrorEditor[data-type='inline'] .CodeMirror-cursor {
+    border-left: var(--jp-code-cursor-width1) solid
+      var(--jp-editor-cursor-color);
+  }
+}
+
+/* When zoomed out less than 33% */
+@media screen and (min-width: 4320px) {
+  .jp-CodeMirrorEditor[data-type='inline'] .CodeMirror-cursor {
+    border-left: var(--jp-code-cursor-width2) solid
+      var(--jp-editor-cursor-color);
+  }
+}
+
+.CodeMirror.jp-mod-readOnly .CodeMirror-cursor {
+  display: none;
+}
+
+.CodeMirror-gutters {
+  border-right: 1px solid var(--jp-border-color2);
+  background-color: var(--jp-layout-color0);
+}
+
+.jp-CollaboratorCursor {
+  border-left: 5px solid transparent;
+  border-right: 5px solid transparent;
+  border-top: none;
+  border-bottom: 3px solid;
+  background-clip: content-box;
+  margin-left: -5px;
+  margin-right: -5px;
+}
+
+.CodeMirror-selectedtext.cm-searching {
+  background-color: var(--jp-search-selected-match-background-color) !important;
+  color: var(--jp-search-selected-match-color) !important;
+}
+
+.cm-searching {
+  background-color: var(
+    --jp-search-unselected-match-background-color
+  ) !important;
+  color: var(--jp-search-unselected-match-color) !important;
+}
+
+.CodeMirror-focused .CodeMirror-selected {
+  background-color: var(--jp-editor-selected-focused-background);
+}
+
+.CodeMirror-selected {
+  background-color: var(--jp-editor-selected-background);
+}
+
+.jp-CollaboratorCursor-hover {
+  position: absolute;
+  z-index: 1;
+  transform: translateX(-50%);
+  color: white;
+  border-radius: 3px;
+  padding-left: 4px;
+  padding-right: 4px;
+  padding-top: 1px;
+  padding-bottom: 1px;
+  text-align: center;
+  font-size: var(--jp-ui-font-size1);
+  white-space: nowrap;
+}
+
+.jp-CodeMirror-ruler {
+  border-left: 1px dashed var(--jp-border-color2);
+}
+
+/**
+ * Here is our jupyter theme for CodeMirror syntax highlighting
+ * This is used in our marked.js syntax highlighting and CodeMirror itself
+ * The string "jupyter" is set in ../codemirror/widget.DEFAULT_CODEMIRROR_THEME
+ * This came from the classic notebook, which came form highlight.js/GitHub
+ */
+
+/**
+ * CodeMirror themes are handling the background/color in this way. This works
+ * fine for CodeMirror editors outside the notebook, but the notebook styles
+ * these things differently.
+ */
+.CodeMirror.cm-s-jupyter {
+  background: var(--jp-layout-color0);
+  color: var(--jp-content-font-color1);
+}
+
+/* In the notebook, we want this styling to be handled by its container */
+.jp-CodeConsole .CodeMirror.cm-s-jupyter,
+.jp-Notebook .CodeMirror.cm-s-jupyter {
+  background: transparent;
+}
+
+.cm-s-jupyter .CodeMirror-cursor {
+  border-left: var(--jp-code-cursor-width0) solid var(--jp-editor-cursor-color);
+}
+.cm-s-jupyter span.cm-keyword {
+  color: var(--jp-mirror-editor-keyword-color);
+  font-weight: bold;
+}
+.cm-s-jupyter span.cm-atom {
+  color: var(--jp-mirror-editor-atom-color);
+}
+.cm-s-jupyter span.cm-number {
+  color: var(--jp-mirror-editor-number-color);
+}
+.cm-s-jupyter span.cm-def {
+  color: var(--jp-mirror-editor-def-color);
+}
+.cm-s-jupyter span.cm-variable {
+  color: var(--jp-mirror-editor-variable-color);
+}
+.cm-s-jupyter span.cm-variable-2 {
+  color: var(--jp-mirror-editor-variable-2-color);
+}
+.cm-s-jupyter span.cm-variable-3 {
+  color: var(--jp-mirror-editor-variable-3-color);
+}
+.cm-s-jupyter span.cm-punctuation {
+  color: var(--jp-mirror-editor-punctuation-color);
+}
+.cm-s-jupyter span.cm-property {
+  color: var(--jp-mirror-editor-property-color);
+}
+.cm-s-jupyter span.cm-operator {
+  color: var(--jp-mirror-editor-operator-color);
+  font-weight: bold;
+}
+.cm-s-jupyter span.cm-comment {
+  color: var(--jp-mirror-editor-comment-color);
+  font-style: italic;
+}
+.cm-s-jupyter span.cm-string {
+  color: var(--jp-mirror-editor-string-color);
+}
+.cm-s-jupyter span.cm-string-2 {
+  color: var(--jp-mirror-editor-string-2-color);
+}
+.cm-s-jupyter span.cm-meta {
+  color: var(--jp-mirror-editor-meta-color);
+}
+.cm-s-jupyter span.cm-qualifier {
+  color: var(--jp-mirror-editor-qualifier-color);
+}
+.cm-s-jupyter span.cm-builtin {
+  color: var(--jp-mirror-editor-builtin-color);
+}
+.cm-s-jupyter span.cm-bracket {
+  color: var(--jp-mirror-editor-bracket-color);
+}
+.cm-s-jupyter span.cm-tag {
+  color: var(--jp-mirror-editor-tag-color);
+}
+.cm-s-jupyter span.cm-attribute {
+  color: var(--jp-mirror-editor-attribute-color);
+}
+.cm-s-jupyter span.cm-header {
+  color: var(--jp-mirror-editor-header-color);
+}
+.cm-s-jupyter span.cm-quote {
+  color: var(--jp-mirror-editor-quote-color);
+}
+.cm-s-jupyter span.cm-link {
+  color: var(--jp-mirror-editor-link-color);
+}
+.cm-s-jupyter span.cm-error {
+  color: var(--jp-mirror-editor-error-color);
+}
+.cm-s-jupyter span.cm-hr {
+  color: #999;
+}
+
+.cm-s-jupyter span.cm-tab {
+  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAMCAYAAAAkuj5RAAAAAXNSR0IArs4c6QAAAGFJREFUSMft1LsRQFAQheHPowAKoACx3IgEKtaEHujDjORSgWTH/ZOdnZOcM/sgk/kFFWY0qV8foQwS4MKBCS3qR6ixBJvElOobYAtivseIE120FaowJPN75GMu8j/LfMwNjh4HUpwg4LUAAAAASUVORK5CYII=);
+  background-position: right;
+  background-repeat: no-repeat;
+}
+
+.cm-s-jupyter .CodeMirror-activeline-background,
+.cm-s-jupyter .CodeMirror-gutter {
+  background-color: var(--jp-layout-color2);
+}
+
+/*-----------------------------------------------------------------------------
+| Copyright (c) Jupyter Development Team.
+| Distributed under the terms of the Modified BSD License.
+|----------------------------------------------------------------------------*/
+
+/*-----------------------------------------------------------------------------
+| RenderedText
+|----------------------------------------------------------------------------*/
+
+:root {
+  /* This is the padding value to fill the gaps between lines containing spans with background color. */
+  --jp-private-code-span-padding: calc(
+    (var(--jp-code-line-height) - 1) * var(--jp-code-font-size) / 2
+  );
+}
+
+.jp-RenderedText {
+  text-align: left;
+  padding-left: var(--jp-code-padding);
+  line-height: var(--jp-code-line-height);
+  font-family: var(--jp-code-font-family);
+}
+
+.jp-RenderedText pre,
+.jp-RenderedJavaScript pre,
+.jp-RenderedHTMLCommon pre {
+  color: var(--jp-content-font-color1);
+  font-size: var(--jp-code-font-size);
+  border: none;
+  margin: 0px;
+  padding: 0px;
+}
+
+.jp-RenderedText pre a:link {
+  text-decoration: none;
+  color: var(--jp-content-link-color);
+}
+.jp-RenderedText pre a:hover {
+  text-decoration: underline;
+  color: var(--jp-content-link-color);
+}
+.jp-RenderedText pre a:visited {
+  text-decoration: none;
+  color: var(--jp-content-link-color);
+}
+
+/* console foregrounds and backgrounds */
+.jp-RenderedText pre .ansi-black-fg {
+  color: #3e424d;
+}
+.jp-RenderedText pre .ansi-red-fg {
+  color: #e75c58;
+}
+.jp-RenderedText pre .ansi-green-fg {
+  color: #00a250;
+}
+.jp-RenderedText pre .ansi-yellow-fg {
+  color: #ddb62b;
+}
+.jp-RenderedText pre .ansi-blue-fg {
+  color: #208ffb;
+}
+.jp-RenderedText pre .ansi-magenta-fg {
+  color: #d160c4;
+}
+.jp-RenderedText pre .ansi-cyan-fg {
+  color: #60c6c8;
+}
+.jp-RenderedText pre .ansi-white-fg {
+  color: #c5c1b4;
+}
+
+.jp-RenderedText pre .ansi-black-bg {
+  background-color: #3e424d;
+  padding: var(--jp-private-code-span-padding) 0;
+}
+.jp-RenderedText pre .ansi-red-bg {
+  background-color: #e75c58;
+  padding: var(--jp-private-code-span-padding) 0;
+}
+.jp-RenderedText pre .ansi-green-bg {
+  background-color: #00a250;
+  padding: var(--jp-private-code-span-padding) 0;
+}
+.jp-RenderedText pre .ansi-yellow-bg {
+  background-color: #ddb62b;
+  padding: var(--jp-private-code-span-padding) 0;
+}
+.jp-RenderedText pre .ansi-blue-bg {
+  background-color: #208ffb;
+  padding: var(--jp-private-code-span-padding) 0;
+}
+.jp-RenderedText pre .ansi-magenta-bg {
+  background-color: #d160c4;
+  padding: var(--jp-private-code-span-padding) 0;
+}
+.jp-RenderedText pre .ansi-cyan-bg {
+  background-color: #60c6c8;
+  padding: var(--jp-private-code-span-padding) 0;
+}
+.jp-RenderedText pre .ansi-white-bg {
+  background-color: #c5c1b4;
+  padding: var(--jp-private-code-span-padding) 0;
+}
+
+.jp-RenderedText pre .ansi-black-intense-fg {
+  color: #282c36;
+}
+.jp-RenderedText pre .ansi-red-intense-fg {
+  color: #b22b31;
+}
+.jp-RenderedText pre .ansi-green-intense-fg {
+  color: #007427;
+}
+.jp-RenderedText pre .ansi-yellow-intense-fg {
+  color: #b27d12;
+}
+.jp-RenderedText pre .ansi-blue-intense-fg {
+  color: #0065ca;
+}
+.jp-RenderedText pre .ansi-magenta-intense-fg {
+  color: #a03196;
+}
+.jp-RenderedText pre .ansi-cyan-intense-fg {
+  color: #258f8f;
+}
+.jp-RenderedText pre .ansi-white-intense-fg {
+  color: #a1a6b2;
+}
+
+.jp-RenderedText pre .ansi-black-intense-bg {
+  background-color: #282c36;
+  padding: var(--jp-private-code-span-padding) 0;
+}
+.jp-RenderedText pre .ansi-red-intense-bg {
+  background-color: #b22b31;
+  padding: var(--jp-private-code-span-padding) 0;
+}
+.jp-RenderedText pre .ansi-green-intense-bg {
+  background-color: #007427;
+  padding: var(--jp-private-code-span-padding) 0;
+}
+.jp-RenderedText pre .ansi-yellow-intense-bg {
+  background-color: #b27d12;
+  padding: var(--jp-private-code-span-padding) 0;
+}
+.jp-RenderedText pre .ansi-blue-intense-bg {
+  background-color: #0065ca;
+  padding: var(--jp-private-code-span-padding) 0;
+}
+.jp-RenderedText pre .ansi-magenta-intense-bg {
+  background-color: #a03196;
+  padding: var(--jp-private-code-span-padding) 0;
+}
+.jp-RenderedText pre .ansi-cyan-intense-bg {
+  background-color: #258f8f;
+  padding: var(--jp-private-code-span-padding) 0;
+}
+.jp-RenderedText pre .ansi-white-intense-bg {
+  background-color: #a1a6b2;
+  padding: var(--jp-private-code-span-padding) 0;
+}
+
+.jp-RenderedText pre .ansi-default-inverse-fg {
+  color: var(--jp-ui-inverse-font-color0);
+}
+.jp-RenderedText pre .ansi-default-inverse-bg {
+  background-color: var(--jp-inverse-layout-color0);
+  padding: var(--jp-private-code-span-padding) 0;
+}
+
+.jp-RenderedText pre .ansi-bold {
+  font-weight: bold;
+}
+.jp-RenderedText pre .ansi-underline {
+  text-decoration: underline;
+}
+
+.jp-RenderedText[data-mime-type='application/vnd.jupyter.stderr'] {
+  background: var(--jp-rendermime-error-background);
+  padding-top: var(--jp-code-padding);
+}
+
+/*-----------------------------------------------------------------------------
+| RenderedLatex
+|----------------------------------------------------------------------------*/
+
+.jp-RenderedLatex {
+  color: var(--jp-content-font-color1);
+  font-size: var(--jp-content-font-size1);
+  line-height: var(--jp-content-line-height);
+}
+
+/* Left-justify outputs.*/
+.jp-OutputArea-output.jp-RenderedLatex {
+  padding: var(--jp-code-padding);
+  text-align: left;
+}
+
+/*-----------------------------------------------------------------------------
+| RenderedHTML
+|----------------------------------------------------------------------------*/
+
+.jp-RenderedHTMLCommon {
+  color: var(--jp-content-font-color1);
+  font-family: var(--jp-content-font-family);
+  font-size: var(--jp-content-font-size1);
+  line-height: var(--jp-content-line-height);
+  /* Give a bit more R padding on Markdown text to keep line lengths reasonable */
+  padding-right: 20px;
+}
+
+.jp-RenderedHTMLCommon em {
+  font-style: italic;
+}
+
+.jp-RenderedHTMLCommon strong {
+  font-weight: bold;
+}
+
+.jp-RenderedHTMLCommon u {
+  text-decoration: underline;
+}
+
+.jp-RenderedHTMLCommon a:link {
+  text-decoration: none;
+  color: var(--jp-content-link-color);
+}
+
+.jp-RenderedHTMLCommon a:hover {
+  text-decoration: underline;
+  color: var(--jp-content-link-color);
+}
+
+.jp-RenderedHTMLCommon a:visited {
+  text-decoration: none;
+  color: var(--jp-content-link-color);
+}
+
+/* Headings */
+
+.jp-RenderedHTMLCommon h1,
+.jp-RenderedHTMLCommon h2,
+.jp-RenderedHTMLCommon h3,
+.jp-RenderedHTMLCommon h4,
+.jp-RenderedHTMLCommon h5,
+.jp-RenderedHTMLCommon h6 {
+  line-height: var(--jp-content-heading-line-height);
+  font-weight: var(--jp-content-heading-font-weight);
+  font-style: normal;
+  margin: var(--jp-content-heading-margin-top) 0
+    var(--jp-content-heading-margin-bottom) 0;
+}
+
+.jp-RenderedHTMLCommon h1:first-child,
+.jp-RenderedHTMLCommon h2:first-child,
+.jp-RenderedHTMLCommon h3:first-child,
+.jp-RenderedHTMLCommon h4:first-child,
+.jp-RenderedHTMLCommon h5:first-child,
+.jp-RenderedHTMLCommon h6:first-child {
+  margin-top: calc(0.5 * var(--jp-content-heading-margin-top));
+}
+
+.jp-RenderedHTMLCommon h1:last-child,
+.jp-RenderedHTMLCommon h2:last-child,
+.jp-RenderedHTMLCommon h3:last-child,
+.jp-RenderedHTMLCommon h4:last-child,
+.jp-RenderedHTMLCommon h5:last-child,
+.jp-RenderedHTMLCommon h6:last-child {
+  margin-bottom: calc(0.5 * var(--jp-content-heading-margin-bottom));
+}
+
+.jp-RenderedHTMLCommon h1 {
+  font-size: var(--jp-content-font-size5);
+}
+
+.jp-RenderedHTMLCommon h2 {
+  font-size: var(--jp-content-font-size4);
+}
+
+.jp-RenderedHTMLCommon h3 {
+  font-size: var(--jp-content-font-size3);
+}
+
+.jp-RenderedHTMLCommon h4 {
+  font-size: var(--jp-content-font-size2);
+}
+
+.jp-RenderedHTMLCommon h5 {
+  font-size: var(--jp-content-font-size1);
+}
+
+.jp-RenderedHTMLCommon h6 {
+  font-size: var(--jp-content-font-size0);
+}
+
+/* Lists */
+
+.jp-RenderedHTMLCommon ul:not(.list-inline),
+.jp-RenderedHTMLCommon ol:not(.list-inline) {
+  padding-left: 2em;
+}
+
+.jp-RenderedHTMLCommon ul {
+  list-style: disc;
+}
+
+.jp-RenderedHTMLCommon ul ul {
+  list-style: square;
+}
+
+.jp-RenderedHTMLCommon ul ul ul {
+  list-style: circle;
+}
+
+.jp-RenderedHTMLCommon ol {
+  list-style: decimal;
+}
+
+.jp-RenderedHTMLCommon ol ol {
+  list-style: upper-alpha;
+}
+
+.jp-RenderedHTMLCommon ol ol ol {
+  list-style: lower-alpha;
+}
+
+.jp-RenderedHTMLCommon ol ol ol ol {
+  list-style: lower-roman;
+}
+
+.jp-RenderedHTMLCommon ol ol ol ol ol {
+  list-style: decimal;
+}
+
+.jp-RenderedHTMLCommon ol,
+.jp-RenderedHTMLCommon ul {
+  margin-bottom: 1em;
+}
+
+.jp-RenderedHTMLCommon ul ul,
+.jp-RenderedHTMLCommon ul ol,
+.jp-RenderedHTMLCommon ol ul,
+.jp-RenderedHTMLCommon ol ol {
+  margin-bottom: 0em;
+}
+
+.jp-RenderedHTMLCommon hr {
+  color: var(--jp-border-color2);
+  background-color: var(--jp-border-color1);
+  margin-top: 1em;
+  margin-bottom: 1em;
+}
+
+.jp-RenderedHTMLCommon > pre {
+  margin: 1.5em 2em;
+}
+
+.jp-RenderedHTMLCommon pre,
+.jp-RenderedHTMLCommon code {
+  border: 0;
+  background-color: var(--jp-layout-color0);
+  color: var(--jp-content-font-color1);
+  font-family: var(--jp-code-font-family);
+  font-size: inherit;
+  line-height: var(--jp-code-line-height);
+  padding: 0;
+  white-space: pre-wrap;
+}
+
+.jp-RenderedHTMLCommon :not(pre) > code {
+  background-color: var(--jp-layout-color2);
+  padding: 1px 5px;
+}
+
+/* Tables */
+
+.jp-RenderedHTMLCommon table {
+  border-collapse: collapse;
+  border-spacing: 0;
+  border: none;
+  color: var(--jp-ui-font-color1);
+  font-size: 12px;
+  table-layout: fixed;
+  margin-left: auto;
+  margin-right: auto;
+}
+
+.jp-RenderedHTMLCommon thead {
+  border-bottom: var(--jp-border-width) solid var(--jp-border-color1);
+  vertical-align: bottom;
+}
+
+.jp-RenderedHTMLCommon td,
+.jp-RenderedHTMLCommon th,
+.jp-RenderedHTMLCommon tr {
+  vertical-align: middle;
+  padding: 0.5em 0.5em;
+  line-height: normal;
+  white-space: normal;
+  max-width: none;
+  border: none;
+}
+
+.jp-RenderedMarkdown.jp-RenderedHTMLCommon td,
+.jp-RenderedMarkdown.jp-RenderedHTMLCommon th {
+  max-width: none;
+}
+
+:not(.jp-RenderedMarkdown).jp-RenderedHTMLCommon td,
+:not(.jp-RenderedMarkdown).jp-RenderedHTMLCommon th,
+:not(.jp-RenderedMarkdown).jp-RenderedHTMLCommon tr {
+  text-align: right;
+}
+
+.jp-RenderedHTMLCommon th {
+  font-weight: bold;
+}
+
+.jp-RenderedHTMLCommon tbody tr:nth-child(odd) {
+  background: var(--jp-layout-color0);
+}
+
+.jp-RenderedHTMLCommon tbody tr:nth-child(even) {
+  background: var(--jp-rendermime-table-row-background);
+}
+
+.jp-RenderedHTMLCommon tbody tr:hover {
+  background: var(--jp-rendermime-table-row-hover-background);
+}
+
+.jp-RenderedHTMLCommon table {
+  margin-bottom: 1em;
+}
+
+.jp-RenderedHTMLCommon p {
+  text-align: left;
+  margin: 0px;
+}
+
+.jp-RenderedHTMLCommon p {
+  margin-bottom: 1em;
+}
+
+.jp-RenderedHTMLCommon img {
+  -moz-force-broken-image-icon: 1;
+}
+
+/* Restrict to direct children as other images could be nested in other content. */
+.jp-RenderedHTMLCommon > img {
+  display: block;
+  margin-left: 0;
+  margin-right: 0;
+  margin-bottom: 1em;
+}
+
+/* Change color behind transparent images if they need it... */
+[data-jp-theme-light='false'] .jp-RenderedImage img.jp-needs-light-background {
+  background-color: var(--jp-inverse-layout-color1);
+}
+[data-jp-theme-light='true'] .jp-RenderedImage img.jp-needs-dark-background {
+  background-color: var(--jp-inverse-layout-color1);
+}
+/* ...or leave it untouched if they don't */
+[data-jp-theme-light='false'] .jp-RenderedImage img.jp-needs-dark-background {
+}
+[data-jp-theme-light='true'] .jp-RenderedImage img.jp-needs-light-background {
+}
+
+.jp-RenderedHTMLCommon img,
+.jp-RenderedImage img,
+.jp-RenderedHTMLCommon svg,
+.jp-RenderedSVG svg {
+  max-width: 100%;
+  height: auto;
+}
+
+.jp-RenderedHTMLCommon img.jp-mod-unconfined,
+.jp-RenderedImage img.jp-mod-unconfined,
+.jp-RenderedHTMLCommon svg.jp-mod-unconfined,
+.jp-RenderedSVG svg.jp-mod-unconfined {
+  max-width: none;
+}
+
+.jp-RenderedHTMLCommon .alert {
+  padding: var(--jp-notebook-padding);
+  border: var(--jp-border-width) solid transparent;
+  border-radius: var(--jp-border-radius);
+  margin-bottom: 1em;
+}
+
+.jp-RenderedHTMLCommon .alert-info {
+  color: var(--jp-info-color0);
+  background-color: var(--jp-info-color3);
+  border-color: var(--jp-info-color2);
+}
+.jp-RenderedHTMLCommon .alert-info hr {
+  border-color: var(--jp-info-color3);
+}
+.jp-RenderedHTMLCommon .alert-info > p:last-child,
+.jp-RenderedHTMLCommon .alert-info > ul:last-child {
+  margin-bottom: 0;
+}
+
+.jp-RenderedHTMLCommon .alert-warning {
+  color: var(--jp-warn-color0);
+  background-color: var(--jp-warn-color3);
+  border-color: var(--jp-warn-color2);
+}
+.jp-RenderedHTMLCommon .alert-warning hr {
+  border-color: var(--jp-warn-color3);
+}
+.jp-RenderedHTMLCommon .alert-warning > p:last-child,
+.jp-RenderedHTMLCommon .alert-warning > ul:last-child {
+  margin-bottom: 0;
+}
+
+.jp-RenderedHTMLCommon .alert-success {
+  color: var(--jp-success-color0);
+  background-color: var(--jp-success-color3);
+  border-color: var(--jp-success-color2);
+}
+.jp-RenderedHTMLCommon .alert-success hr {
+  border-color: var(--jp-success-color3);
+}
+.jp-RenderedHTMLCommon .alert-success > p:last-child,
+.jp-RenderedHTMLCommon .alert-success > ul:last-child {
+  margin-bottom: 0;
+}
+
+.jp-RenderedHTMLCommon .alert-danger {
+  color: var(--jp-error-color0);
+  background-color: var(--jp-error-color3);
+  border-color: var(--jp-error-color2);
+}
+.jp-RenderedHTMLCommon .alert-danger hr {
+  border-color: var(--jp-error-color3);
+}
+.jp-RenderedHTMLCommon .alert-danger > p:last-child,
+.jp-RenderedHTMLCommon .alert-danger > ul:last-child {
+  margin-bottom: 0;
+}
+
+.jp-RenderedHTMLCommon blockquote {
+  margin: 1em 2em;
+  padding: 0 1em;
+  border-left: 5px solid var(--jp-border-color2);
+}
+
+a.jp-InternalAnchorLink {
+  visibility: hidden;
+  margin-left: 8px;
+  color: var(--md-blue-800);
+}
+
+h1:hover .jp-InternalAnchorLink,
+h2:hover .jp-InternalAnchorLink,
+h3:hover .jp-InternalAnchorLink,
+h4:hover .jp-InternalAnchorLink,
+h5:hover .jp-InternalAnchorLink,
+h6:hover .jp-InternalAnchorLink {
+  visibility: visible;
+}
+
+.jp-RenderedHTMLCommon kbd {
+  background-color: var(--jp-rendermime-table-row-background);
+  border: 1px solid var(--jp-border-color0);
+  border-bottom-color: var(--jp-border-color2);
+  border-radius: 3px;
+  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25);
+  display: inline-block;
+  font-size: 0.8em;
+  line-height: 1em;
+  padding: 0.2em 0.5em;
+}
+
+/* Most direct children of .jp-RenderedHTMLCommon have a margin-bottom of 1.0.
+ * At the bottom of cells this is a bit too much as there is also spacing
+ * between cells. Going all the way to 0 gets too tight between markdown and
+ * code cells.
+ */
+.jp-RenderedHTMLCommon > *:last-child {
+  margin-bottom: 0.5em;
+}
+
+/*-----------------------------------------------------------------------------
+| Copyright (c) Jupyter Development Team.
+| Distributed under the terms of the Modified BSD License.
+|----------------------------------------------------------------------------*/
+
+.jp-MimeDocument {
+  outline: none;
+}
+
+/*-----------------------------------------------------------------------------
+| Copyright (c) Jupyter Development Team.
+| Distributed under the terms of the Modified BSD License.
+|----------------------------------------------------------------------------*/
+
+/*-----------------------------------------------------------------------------
+| Variables
+|----------------------------------------------------------------------------*/
+
+:root {
+  --jp-private-filebrowser-button-height: 28px;
+  --jp-private-filebrowser-button-width: 48px;
+}
+
+/*-----------------------------------------------------------------------------
+| Copyright (c) Jupyter Development Team.
+| Distributed under the terms of the Modified BSD License.
+|----------------------------------------------------------------------------*/
+
+.jp-FileBrowser {
+  display: flex;
+  flex-direction: column;
+  color: var(--jp-ui-font-color1);
+  background: var(--jp-layout-color1);
+  /* This is needed so that all font sizing of children done in ems is
+   * relative to this base size */
+  font-size: var(--jp-ui-font-size1);
+}
+
+.jp-FileBrowser-toolbar.jp-Toolbar {
+  border-bottom: none;
+  height: auto;
+  margin: var(--jp-toolbar-header-margin);
+  box-shadow: none;
+}
+
+.jp-BreadCrumbs {
+  flex: 0 0 auto;
+  margin: 8px 12px 8px 12px;
+}
+
+.jp-BreadCrumbs-item {
+  margin: 0px 2px;
+  padding: 0px 2px;
+  border-radius: var(--jp-border-radius);
+  cursor: pointer;
+}
+
+.jp-BreadCrumbs-item:hover {
+  background-color: var(--jp-layout-color2);
+}
+
+.jp-BreadCrumbs-item:first-child {
+  margin-left: 0px;
+}
+
+.jp-BreadCrumbs-item.jp-mod-dropTarget {
+  background-color: var(--jp-brand-color2);
+  opacity: 0.7;
+}
+
+/*-----------------------------------------------------------------------------
+| Buttons
+|----------------------------------------------------------------------------*/
+
+.jp-FileBrowser-toolbar.jp-Toolbar {
+  padding: 0px;
+  margin: 8px 12px 0px 12px;
+}
+
+.jp-FileBrowser-toolbar.jp-Toolbar {
+  justify-content: flex-start;
+}
+
+.jp-FileBrowser-toolbar.jp-Toolbar .jp-Toolbar-item {
+  flex: 0 0 auto;
+  padding-left: 0px;
+  padding-right: 2px;
+}
+
+.jp-FileBrowser-toolbar.jp-Toolbar .jp-ToolbarButtonComponent {
+  width: 40px;
+}
+
+.jp-FileBrowser-toolbar.jp-Toolbar
+  .jp-Toolbar-item:first-child
+  .jp-ToolbarButtonComponent {
+  width: 72px;
+  background: var(--jp-brand-color1);
+}
+
+.jp-FileBrowser-toolbar.jp-Toolbar
+  .jp-Toolbar-item:first-child
+  .jp-ToolbarButtonComponent
+  .jp-icon3 {
+  fill: white;
+}
+
+/*-----------------------------------------------------------------------------
+| Other styles
+|----------------------------------------------------------------------------*/
+
+.jp-FileDialog.jp-mod-conflict input {
+  color: red;
+}
+
+.jp-FileDialog .jp-new-name-title {
+  margin-top: 12px;
+}
+
+.jp-LastModified-hidden {
+  display: none;
+}
+
+.jp-FileBrowser-filterBox {
+  padding: 0px;
+  flex: 0 0 auto;
+  margin: 8px 12px 0px 12px;
+}
+
+/*-----------------------------------------------------------------------------
+| DirListing
+|----------------------------------------------------------------------------*/
+
+.jp-DirListing {
+  flex: 1 1 auto;
+  display: flex;
+  flex-direction: column;
+  outline: 0;
+}
+
+.jp-DirListing-header {
+  flex: 0 0 auto;
+  display: flex;
+  flex-direction: row;
+  overflow: hidden;
+  border-top: var(--jp-border-width) solid var(--jp-border-color2);
+  border-bottom: var(--jp-border-width) solid var(--jp-border-color1);
+  box-shadow: var(--jp-toolbar-box-shadow);
+  z-index: 2;
+}
+
+.jp-DirListing-headerItem {
+  padding: 4px 12px 2px 12px;
+  font-weight: 500;
+}
+
+.jp-DirListing-headerItem:hover {
+  background: var(--jp-layout-color2);
+}
+
+.jp-DirListing-headerItem.jp-id-name {
+  flex: 1 0 84px;
+}
+
+.jp-DirListing-headerItem.jp-id-modified {
+  flex: 0 0 112px;
+  border-left: var(--jp-border-width) solid var(--jp-border-color2);
+  text-align: right;
+}
+
+.jp-id-narrow {
+  display: none;
+  flex: 0 0 5px;
+  padding: 4px 4px;
+  border-left: var(--jp-border-width) solid var(--jp-border-color2);
+  text-align: right;
+  color: var(--jp-border-color2);
+}
+
+.jp-DirListing-narrow .jp-id-narrow {
+  display: block;
+}
+
+.jp-DirListing-narrow .jp-id-modified,
+.jp-DirListing-narrow .jp-DirListing-itemModified {
+  display: none;
+}
+
+.jp-DirListing-headerItem.jp-mod-selected {
+  font-weight: 600;
+}
+
+/* increase specificity to override bundled default */
+.jp-DirListing-content {
+  flex: 1 1 auto;
+  margin: 0;
+  padding: 0;
+  list-style-type: none;
+  overflow: auto;
+  background-color: var(--jp-layout-color1);
+}
+
+.jp-DirListing-content mark {
+  color: var(--jp-ui-font-color0);
+  background-color: transparent;
+  font-weight: bold;
+}
+
+/* Style the directory listing content when a user drops a file to upload */
+.jp-DirListing.jp-mod-native-drop .jp-DirListing-content {
+  outline: 5px dashed rgba(128, 128, 128, 0.5);
+  outline-offset: -10px;
+  cursor: copy;
+}
+
+.jp-DirListing-item {
+  display: flex;
+  flex-direction: row;
+  padding: 4px 12px;
+  -webkit-user-select: none;
+  -moz-user-select: none;
+  -ms-user-select: none;
+  user-select: none;
+}
+
+.jp-DirListing-item[data-is-dot] {
+  opacity: 75%;
+}
+
+.jp-DirListing-item.jp-mod-selected {
+  color: white;
+  background: var(--jp-brand-color1);
+}
+
+.jp-DirListing-item.jp-mod-dropTarget {
+  background: var(--jp-brand-color3);
+}
+
+.jp-DirListing-item:hover:not(.jp-mod-selected) {
+  background: var(--jp-layout-color2);
+}
+
+.jp-DirListing-itemIcon {
+  flex: 0 0 20px;
+  margin-right: 4px;
+}
+
+.jp-DirListing-itemText {
+  flex: 1 0 64px;
+  white-space: nowrap;
+  overflow: hidden;
+  text-overflow: ellipsis;
+  user-select: none;
+}
+
+.jp-DirListing-itemModified {
+  flex: 0 0 125px;
+  text-align: right;
+}
+
+.jp-DirListing-editor {
+  flex: 1 0 64px;
+  outline: none;
+  border: none;
+}
+
+.jp-DirListing-item.jp-mod-running .jp-DirListing-itemIcon:before {
+  color: limegreen;
+  content: '\25CF';
+  font-size: 8px;
+  position: absolute;
+  left: -8px;
+}
+
+.jp-DirListing-item.lm-mod-drag-image,
+.jp-DirListing-item.jp-mod-selected.lm-mod-drag-image {
+  font-size: var(--jp-ui-font-size1);
+  padding-left: 4px;
+  margin-left: 4px;
+  width: 160px;
+  background-color: var(--jp-ui-inverse-font-color2);
+  box-shadow: var(--jp-elevation-z2);
+  border-radius: 0px;
+  color: var(--jp-ui-font-color1);
+  transform: translateX(-40%) translateY(-58%);
+}
+
+.jp-DirListing-deadSpace {
+  flex: 1 1 auto;
+  margin: 0;
+  padding: 0;
+  list-style-type: none;
+  overflow: auto;
+  background-color: var(--jp-layout-color1);
+}
+
+.jp-Document {
+  min-width: 120px;
+  min-height: 120px;
+  outline: none;
+}
+
+/*-----------------------------------------------------------------------------
+| Copyright (c) Jupyter Development Team.
+| Distributed under the terms of the Modified BSD License.
+|----------------------------------------------------------------------------*/
+
+/*-----------------------------------------------------------------------------
+| Private CSS variables
+|----------------------------------------------------------------------------*/
+
+:root {
+}
+
+/*-----------------------------------------------------------------------------
+| Main OutputArea
+| OutputArea has a list of Outputs
+|----------------------------------------------------------------------------*/
+
+.jp-OutputArea {
+  overflow-y: auto;
+}
+
+.jp-OutputArea-child {
+  display: flex;
+  flex-direction: row;
+}
+
+.jp-OutputPrompt {
+  flex: 0 0 var(--jp-cell-prompt-width);
+  color: var(--jp-cell-outprompt-font-color);
+  font-family: var(--jp-cell-prompt-font-family);
+  padding: var(--jp-code-padding);
+  letter-spacing: var(--jp-cell-prompt-letter-spacing);
+  line-height: var(--jp-code-line-height);
+  font-size: var(--jp-code-font-size);
+  border: var(--jp-border-width) solid transparent;
+  opacity: var(--jp-cell-prompt-opacity);
+  /* Right align prompt text, don't wrap to handle large prompt numbers */
+  text-align: right;
+  white-space: nowrap;
+  overflow: hidden;
+  text-overflow: ellipsis;
+  /* Disable text selection */
+  -webkit-user-select: none;
+  -moz-user-select: none;
+  -ms-user-select: none;
+  user-select: none;
+}
+
+.jp-OutputArea-output {
+  height: auto;
+  overflow: auto;
+  user-select: text;
+  -moz-user-select: text;
+  -webkit-user-select: text;
+  -ms-user-select: text;
+}
+
+.jp-OutputArea-child .jp-OutputArea-output {
+  flex-grow: 1;
+  flex-shrink: 1;
+}
+
+/**
+ * Isolated output.
+ */
+.jp-OutputArea-output.jp-mod-isolated {
+  width: 100%;
+  display: block;
+}
+
+/*
+When drag events occur, `p-mod-override-cursor` is added to the body.
+Because iframes steal all cursor events, the following two rules are necessary
+to suppress pointer events while resize drags are occurring. There may be a
+better solution to this problem.
+*/
+body.lm-mod-override-cursor .jp-OutputArea-output.jp-mod-isolated {
+  position: relative;
+}
+
+body.lm-mod-override-cursor .jp-OutputArea-output.jp-mod-isolated:before {
+  content: '';
+  position: absolute;
+  top: 0;
+  left: 0;
+  right: 0;
+  bottom: 0;
+  background: transparent;
+}
+
+/* pre */
+
+.jp-OutputArea-output pre {
+  border: none;
+  margin: 0px;
+  padding: 0px;
+  overflow-x: auto;
+  overflow-y: auto;
+  word-break: break-all;
+  word-wrap: break-word;
+  white-space: pre-wrap;
+}
+
+/* tables */
+
+.jp-OutputArea-output.jp-RenderedHTMLCommon table {
+  margin-left: 0;
+  margin-right: 0;
+}
+
+/* description lists */
+
+.jp-OutputArea-output dl,
+.jp-OutputArea-output dt,
+.jp-OutputArea-output dd {
+  display: block;
+}
+
+.jp-OutputArea-output dl {
+  width: 100%;
+  overflow: hidden;
+  padding: 0;
+  margin: 0;
+}
+
+.jp-OutputArea-output dt {
+  font-weight: bold;
+  float: left;
+  width: 20%;
+  padding: 0;
+  margin: 0;
+}
+
+.jp-OutputArea-output dd {
+  float: left;
+  width: 80%;
+  padding: 0;
+  margin: 0;
+}
+
+/* Hide the gutter in case of
+ *  - nested output areas (e.g. in the case of output widgets)
+ *  - mirrored output areas
+ */
+.jp-OutputArea .jp-OutputArea .jp-OutputArea-prompt {
+  display: none;
+}
+
+/*-----------------------------------------------------------------------------
+| executeResult is added to any Output-result for the display of the object
+| returned by a cell
+|----------------------------------------------------------------------------*/
+
+.jp-OutputArea-output.jp-OutputArea-executeResult {
+  margin-left: 0px;
+  flex: 1 1 auto;
+}
+
+/* Text output with the Out[] prompt needs a top padding to match the
+ * alignment of the Out[] prompt itself.
+ */
+.jp-OutputArea-executeResult .jp-RenderedText.jp-OutputArea-output {
+  padding-top: var(--jp-code-padding);
+  border-top: var(--jp-border-width) solid transparent;
+}
+
+/*-----------------------------------------------------------------------------
+| The Stdin output
+|----------------------------------------------------------------------------*/
+
+.jp-OutputArea-stdin {
+  line-height: var(--jp-code-line-height);
+  padding-top: var(--jp-code-padding);
+  display: flex;
+}
+
+.jp-Stdin-prompt {
+  color: var(--jp-content-font-color0);
+  padding-right: var(--jp-code-padding);
+  vertical-align: baseline;
+  flex: 0 0 auto;
+}
+
+.jp-Stdin-input {
+  font-family: var(--jp-code-font-family);
+  font-size: inherit;
+  color: inherit;
+  background-color: inherit;
+  width: 42%;
+  min-width: 200px;
+  /* make sure input baseline aligns with prompt */
+  vertical-align: baseline;
+  /* padding + margin = 0.5em between prompt and cursor */
+  padding: 0em 0.25em;
+  margin: 0em 0.25em;
+  flex: 0 0 70%;
+}
+
+.jp-Stdin-input:focus {
+  box-shadow: none;
+}
+
+/*-----------------------------------------------------------------------------
+| Output Area View
+|----------------------------------------------------------------------------*/
+
+.jp-LinkedOutputView .jp-OutputArea {
+  height: 100%;
+  display: block;
+}
+
+.jp-LinkedOutputView .jp-OutputArea-output:only-child {
+  height: 100%;
+}
+
+/*-----------------------------------------------------------------------------
+| Copyright (c) Jupyter Development Team.
+| Distributed under the terms of the Modified BSD License.
+|----------------------------------------------------------------------------*/
+
+.jp-Collapser {
+  flex: 0 0 var(--jp-cell-collapser-width);
+  padding: 0px;
+  margin: 0px;
+  border: none;
+  outline: none;
+  background: transparent;
+  border-radius: var(--jp-border-radius);
+  opacity: 1;
+}
+
+.jp-Collapser-child {
+  display: block;
+  width: 100%;
+  box-sizing: border-box;
+  /* height: 100% doesn't work because the height of its parent is computed from content */
+  position: absolute;
+  top: 0px;
+  bottom: 0px;
+}
+
+/*-----------------------------------------------------------------------------
+| Copyright (c) Jupyter Development Team.
+| Distributed under the terms of the Modified BSD License.
+|----------------------------------------------------------------------------*/
+
+/*-----------------------------------------------------------------------------
+| Header/Footer
+|----------------------------------------------------------------------------*/
+
+/* Hidden by zero height by default */
+.jp-CellHeader,
+.jp-CellFooter {
+  height: 0px;
+  width: 100%;
+  padding: 0px;
+  margin: 0px;
+  border: none;
+  outline: none;
+  background: transparent;
+}
+
+/*-----------------------------------------------------------------------------
+| Copyright (c) Jupyter Development Team.
+| Distributed under the terms of the Modified BSD License.
+|----------------------------------------------------------------------------*/
+
+/*-----------------------------------------------------------------------------
+| Input
+|----------------------------------------------------------------------------*/
+
+/* All input areas */
+.jp-InputArea {
+  display: flex;
+  flex-direction: row;
+  overflow: hidden;
+}
+
+.jp-InputArea-editor {
+  flex: 1 1 auto;
+  overflow: hidden;
+}
+
+.jp-InputArea-editor {
+  /* This is the non-active, default styling */
+  border: var(--jp-border-width) solid var(--jp-cell-editor-border-color);
+  border-radius: 0px;
+  background: var(--jp-cell-editor-background);
+}
+
+.jp-InputPrompt {
+  flex: 0 0 var(--jp-cell-prompt-width);
+  color: var(--jp-cell-inprompt-font-color);
+  font-family: var(--jp-cell-prompt-font-family);
+  padding: var(--jp-code-padding);
+  letter-spacing: var(--jp-cell-prompt-letter-spacing);
+  opacity: var(--jp-cell-prompt-opacity);
+  line-height: var(--jp-code-line-height);
+  font-size: var(--jp-code-font-size);
+  border: var(--jp-border-width) solid transparent;
+  opacity: var(--jp-cell-prompt-opacity);
+  /* Right align prompt text, don't wrap to handle large prompt numbers */
+  text-align: right;
+  white-space: nowrap;
+  overflow: hidden;
+  text-overflow: ellipsis;
+  /* Disable text selection */
+  -webkit-user-select: none;
+  -moz-user-select: none;
+  -ms-user-select: none;
+  user-select: none;
+}
+
+/*-----------------------------------------------------------------------------
+| Copyright (c) Jupyter Development Team.
+| Distributed under the terms of the Modified BSD License.
+|----------------------------------------------------------------------------*/
+
+/*-----------------------------------------------------------------------------
+| Placeholder
+|----------------------------------------------------------------------------*/
+
+.jp-Placeholder {
+  display: flex;
+  flex-direction: row;
+  flex: 1 1 auto;
+}
+
+.jp-Placeholder-prompt {
+  box-sizing: border-box;
+}
+
+.jp-Placeholder-content {
+  flex: 1 1 auto;
+  border: none;
+  background: transparent;
+  height: 20px;
+  box-sizing: border-box;
+}
+
+.jp-Placeholder-content .jp-MoreHorizIcon {
+  width: 32px;
+  height: 16px;
+  border: 1px solid transparent;
+  border-radius: var(--jp-border-radius);
+}
+
+.jp-Placeholder-content .jp-MoreHorizIcon:hover {
+  border: 1px solid var(--jp-border-color1);
+  box-shadow: 0px 0px 2px 0px rgba(0, 0, 0, 0.25);
+  background-color: var(--jp-layout-color0);
+}
+
+/*-----------------------------------------------------------------------------
+| Copyright (c) Jupyter Development Team.
+| Distributed under the terms of the Modified BSD License.
+|----------------------------------------------------------------------------*/
+
+/*-----------------------------------------------------------------------------
+| Private CSS variables
+|----------------------------------------------------------------------------*/
+
+:root {
+  --jp-private-cell-scrolling-output-offset: 5px;
+}
+
+/*-----------------------------------------------------------------------------
+| Cell
+|----------------------------------------------------------------------------*/
+
+.jp-Cell {
+  padding: var(--jp-cell-padding);
+  margin: 0px;
+  border: none;
+  outline: none;
+  background: transparent;
+}
+
+/*-----------------------------------------------------------------------------
+| Common input/output
+|----------------------------------------------------------------------------*/
+
+.jp-Cell-inputWrapper,
+.jp-Cell-outputWrapper {
+  display: flex;
+  flex-direction: row;
+  padding: 0px;
+  margin: 0px;
+  /* Added to reveal the box-shadow on the input and output collapsers. */
+  overflow: visible;
+}
+
+/* Only input/output areas inside cells */
+.jp-Cell-inputArea,
+.jp-Cell-outputArea {
+  flex: 1 1 auto;
+}
+
+/*-----------------------------------------------------------------------------
+| Collapser
+|----------------------------------------------------------------------------*/
+
+/* Make the output collapser disappear when there is not output, but do so
+ * in a manner that leaves it in the layout and preserves its width.
+ */
+.jp-Cell.jp-mod-noOutputs .jp-Cell-outputCollapser {
+  border: none !important;
+  background: transparent !important;
+}
+
+.jp-Cell:not(.jp-mod-noOutputs) .jp-Cell-outputCollapser {
+  min-height: var(--jp-cell-collapser-min-height);
+}
+
+/*-----------------------------------------------------------------------------
+| Output
+|----------------------------------------------------------------------------*/
+
+/* Put a space between input and output when there IS output */
+.jp-Cell:not(.jp-mod-noOutputs) .jp-Cell-outputWrapper {
+  margin-top: 5px;
+}
+
+.jp-CodeCell.jp-mod-outputsScrolled .jp-Cell-outputArea {
+  overflow-y: auto;
+  max-height: 200px;
+  box-shadow: inset 0 0 6px 2px rgba(0, 0, 0, 0.3);
+  margin-left: var(--jp-private-cell-scrolling-output-offset);
+}
+
+.jp-CodeCell.jp-mod-outputsScrolled .jp-OutputArea-prompt {
+  flex: 0 0
+    calc(
+      var(--jp-cell-prompt-width) -
+        var(--jp-private-cell-scrolling-output-offset)
+    );
+}
+
+/*-----------------------------------------------------------------------------
+| CodeCell
+|----------------------------------------------------------------------------*/
+
+/*-----------------------------------------------------------------------------
+| MarkdownCell
+|----------------------------------------------------------------------------*/
+
+.jp-MarkdownOutput {
+  flex: 1 1 auto;
+  margin-top: 0;
+  margin-bottom: 0;
+  padding-left: var(--jp-code-padding);
+}
+
+.jp-MarkdownOutput.jp-RenderedHTMLCommon {
+  overflow: auto;
+}
+
+/*-----------------------------------------------------------------------------
+| Copyright (c) Jupyter Development Team.
+| Distributed under the terms of the Modified BSD License.
+|----------------------------------------------------------------------------*/
+
+/*-----------------------------------------------------------------------------
+| Copyright (c) Jupyter Development Team.
+| Distributed under the terms of the Modified BSD License.
+|----------------------------------------------------------------------------*/
+
+/*-----------------------------------------------------------------------------
+| Variables
+|----------------------------------------------------------------------------*/
+
+/*-----------------------------------------------------------------------------
+
+/*-----------------------------------------------------------------------------
+| Styles
+|----------------------------------------------------------------------------*/
+
+.jp-NotebookPanel-toolbar {
+  padding: 2px;
+}
+
+.jp-Toolbar-item.jp-Notebook-toolbarCellType .jp-select-wrapper.jp-mod-focused {
+  border: none;
+  box-shadow: none;
+}
+
+.jp-Notebook-toolbarCellTypeDropdown select {
+  height: 24px;
+  font-size: var(--jp-ui-font-size1);
+  line-height: 14px;
+  border-radius: 0;
+  display: block;
+}
+
+.jp-Notebook-toolbarCellTypeDropdown span {
+  top: 5px !important;
+}
+
+/*-----------------------------------------------------------------------------
+| Copyright (c) Jupyter Development Team.
+| Distributed under the terms of the Modified BSD License.
+|----------------------------------------------------------------------------*/
+
+/*-----------------------------------------------------------------------------
+| Private CSS variables
+|----------------------------------------------------------------------------*/
+
+:root {
+  --jp-private-notebook-dragImage-width: 304px;
+  --jp-private-notebook-dragImage-height: 36px;
+  --jp-private-notebook-selected-color: var(--md-blue-400);
+  --jp-private-notebook-active-color: var(--md-green-400);
+}
+
+/*-----------------------------------------------------------------------------
+| Imports
+|----------------------------------------------------------------------------*/
+
+/*-----------------------------------------------------------------------------
+| Notebook
+|----------------------------------------------------------------------------*/
+
+.jp-NotebookPanel {
+  display: block;
+  height: 100%;
+}
+
+.jp-NotebookPanel.jp-Document {
+  min-width: 240px;
+  min-height: 120px;
+}
+
+.jp-Notebook {
+  padding: var(--jp-notebook-padding);
+  outline: none;
+  overflow: auto;
+  background: var(--jp-layout-color0);
+}
+
+.jp-Notebook.jp-mod-scrollPastEnd::after {
+  display: block;
+  content: '';
+  min-height: var(--jp-notebook-scroll-padding);
+}
+
+.jp-Notebook .jp-Cell {
+  overflow: visible;
+}
+
+.jp-Notebook .jp-Cell .jp-InputPrompt {
+  cursor: move;
+}
+
+/*-----------------------------------------------------------------------------
+| Notebook state related styling
+|
+| The notebook and cells each have states, here are the possibilities:
+|
+| - Notebook
+|   - Command
+|   - Edit
+| - Cell
+|   - None
+|   - Active (only one can be active)
+|   - Selected (the cells actions are applied to)
+|   - Multiselected (when multiple selected, the cursor)
+|   - No outputs
+|----------------------------------------------------------------------------*/
+
+/* Command or edit modes */
+
+.jp-Notebook .jp-Cell:not(.jp-mod-active) .jp-InputPrompt {
+  opacity: var(--jp-cell-prompt-not-active-opacity);
+  color: var(--jp-cell-prompt-not-active-font-color);
+}
+
+.jp-Notebook .jp-Cell:not(.jp-mod-active) .jp-OutputPrompt {
+  opacity: var(--jp-cell-prompt-not-active-opacity);
+  color: var(--jp-cell-prompt-not-active-font-color);
+}
+
+/* cell is active */
+.jp-Notebook .jp-Cell.jp-mod-active .jp-Collapser {
+  background: var(--jp-brand-color1);
+}
+
+/* collapser is hovered */
+.jp-Notebook .jp-Cell .jp-Collapser:hover {
+  box-shadow: var(--jp-elevation-z2);
+  background: var(--jp-brand-color1);
+  opacity: var(--jp-cell-collapser-not-active-hover-opacity);
+}
+
+/* cell is active and collapser is hovered */
+.jp-Notebook .jp-Cell.jp-mod-active .jp-Collapser:hover {
+  background: var(--jp-brand-color0);
+  opacity: 1;
+}
+
+/* Command mode */
+
+.jp-Notebook.jp-mod-commandMode .jp-Cell.jp-mod-selected {
+  background: var(--jp-notebook-multiselected-color);
+}
+
+.jp-Notebook.jp-mod-commandMode
+  .jp-Cell.jp-mod-active.jp-mod-selected:not(.jp-mod-multiSelected) {
+  background: transparent;
+}
+
+/* Edit mode */
+
+.jp-Notebook.jp-mod-editMode .jp-Cell.jp-mod-active .jp-InputArea-editor {
+  border: var(--jp-border-width) solid var(--jp-cell-editor-active-border-color);
+  box-shadow: var(--jp-input-box-shadow);
+  background-color: var(--jp-cell-editor-active-background);
+}
+
+/*-----------------------------------------------------------------------------
+| Notebook drag and drop
+|----------------------------------------------------------------------------*/
+
+.jp-Notebook-cell.jp-mod-dropSource {
+  opacity: 0.5;
+}
+
+.jp-Notebook-cell.jp-mod-dropTarget,
+.jp-Notebook.jp-mod-commandMode
+  .jp-Notebook-cell.jp-mod-active.jp-mod-selected.jp-mod-dropTarget {
+  border-top-color: var(--jp-private-notebook-selected-color);
+  border-top-style: solid;
+  border-top-width: 2px;
+}
+
+.jp-dragImage {
+  display: flex;
+  flex-direction: row;
+  width: var(--jp-private-notebook-dragImage-width);
+  height: var(--jp-private-notebook-dragImage-height);
+  border: var(--jp-border-width) solid var(--jp-cell-editor-border-color);
+  background: var(--jp-cell-editor-background);
+  overflow: visible;
+}
+
+.jp-dragImage-singlePrompt {
+  box-shadow: 2px 2px 4px 0px rgba(0, 0, 0, 0.12);
+}
+
+.jp-dragImage .jp-dragImage-content {
+  flex: 1 1 auto;
+  z-index: 2;
+  font-size: var(--jp-code-font-size);
+  font-family: var(--jp-code-font-family);
+  line-height: var(--jp-code-line-height);
+  padding: var(--jp-code-padding);
+  border: var(--jp-border-width) solid var(--jp-cell-editor-border-color);
+  background: var(--jp-cell-editor-background-color);
+  color: var(--jp-content-font-color3);
+  text-align: left;
+  margin: 4px 4px 4px 0px;
+}
+
+.jp-dragImage .jp-dragImage-prompt {
+  flex: 0 0 auto;
+  min-width: 36px;
+  color: var(--jp-cell-inprompt-font-color);
+  padding: var(--jp-code-padding);
+  padding-left: 12px;
+  font-family: var(--jp-cell-prompt-font-family);
+  letter-spacing: var(--jp-cell-prompt-letter-spacing);
+  line-height: 1.9;
+  font-size: var(--jp-code-font-size);
+  border: var(--jp-border-width) solid transparent;
+}
+
+.jp-dragImage-multipleBack {
+  z-index: -1;
+  position: absolute;
+  height: 32px;
+  width: 300px;
+  top: 8px;
+  left: 8px;
+  background: var(--jp-layout-color2);
+  border: var(--jp-border-width) solid var(--jp-input-border-color);
+  box-shadow: 2px 2px 4px 0px rgba(0, 0, 0, 0.12);
+}
+
+/*-----------------------------------------------------------------------------
+| Cell toolbar
+|----------------------------------------------------------------------------*/
+
+.jp-NotebookTools {
+  display: block;
+  min-width: var(--jp-sidebar-min-width);
+  color: var(--jp-ui-font-color1);
+  background: var(--jp-layout-color1);
+  /* This is needed so that all font sizing of children done in ems is
+    * relative to this base size */
+  font-size: var(--jp-ui-font-size1);
+  overflow: auto;
+}
+
+.jp-NotebookTools-tool {
+  padding: 0px 12px 0 12px;
+}
+
+.jp-ActiveCellTool {
+  padding: 12px;
+  background-color: var(--jp-layout-color1);
+  border-top: none !important;
+}
+
+.jp-ActiveCellTool .jp-InputArea-prompt {
+  flex: 0 0 auto;
+  padding-left: 0px;
+}
+
+.jp-ActiveCellTool .jp-InputArea-editor {
+  flex: 1 1 auto;
+  background: var(--jp-cell-editor-background);
+  border-color: var(--jp-cell-editor-border-color);
+}
+
+.jp-ActiveCellTool .jp-InputArea-editor .CodeMirror {
+  background: transparent;
+}
+
+.jp-MetadataEditorTool {
+  flex-direction: column;
+  padding: 12px 0px 12px 0px;
+}
+
+.jp-RankedPanel > :not(:first-child) {
+  margin-top: 12px;
+}
+
+.jp-KeySelector select.jp-mod-styled {
+  font-size: var(--jp-ui-font-size1);
+  color: var(--jp-ui-font-color0);
+  border: var(--jp-border-width) solid var(--jp-border-color1);
+}
+
+.jp-KeySelector label,
+.jp-MetadataEditorTool label {
+  line-height: 1.4;
+}
+
+.jp-NotebookTools .jp-select-wrapper {
+  margin-top: 4px;
+  margin-bottom: 0px;
+}
+
+.jp-NotebookTools .jp-Collapse {
+  margin-top: 16px;
+}
+
+/*-----------------------------------------------------------------------------
+| Presentation Mode (.jp-mod-presentationMode)
+|----------------------------------------------------------------------------*/
+
+.jp-mod-presentationMode .jp-Notebook {
+  --jp-content-font-size1: var(--jp-content-presentation-font-size1);
+  --jp-code-font-size: var(--jp-code-presentation-font-size);
+}
+
+.jp-mod-presentationMode .jp-Notebook .jp-Cell .jp-InputPrompt,
+.jp-mod-presentationMode .jp-Notebook .jp-Cell .jp-OutputPrompt {
+  flex: 0 0 110px;
+}
+
+</style>
+
+    <style type="text/css">
+/*-----------------------------------------------------------------------------
+| Copyright (c) Jupyter Development Team.
+| Distributed under the terms of the Modified BSD License.
+|----------------------------------------------------------------------------*/
+
+/*
+The following CSS variables define the main, public API for styling JupyterLab.
+These variables should be used by all plugins wherever possible. In other
+words, plugins should not define custom colors, sizes, etc unless absolutely
+necessary. This enables users to change the visual theme of JupyterLab
+by changing these variables.
+
+Many variables appear in an ordered sequence (0,1,2,3). These sequences
+are designed to work well together, so for example, `--jp-border-color1` should
+be used with `--jp-layout-color1`. The numbers have the following meanings:
+
+* 0: super-primary, reserved for special emphasis
+* 1: primary, most important under normal situations
+* 2: secondary, next most important under normal situations
+* 3: tertiary, next most important under normal situations
+
+Throughout JupyterLab, we are mostly following principles from Google's
+Material Design when selecting colors. We are not, however, following
+all of MD as it is not optimized for dense, information rich UIs.
+*/
+
+:root {
+  /* Elevation
+   *
+   * We style box-shadows using Material Design's idea of elevation. These particular numbers are taken from here:
+   *
+   * https://github.com/material-components/material-components-web
+   * https://material-components-web.appspot.com/elevation.html
+   */
+
+  --jp-shadow-base-lightness: 0;
+  --jp-shadow-umbra-color: rgba(
+    var(--jp-shadow-base-lightness),
+    var(--jp-shadow-base-lightness),
+    var(--jp-shadow-base-lightness),
+    0.2
+  );
+  --jp-shadow-penumbra-color: rgba(
+    var(--jp-shadow-base-lightness),
+    var(--jp-shadow-base-lightness),
+    var(--jp-shadow-base-lightness),
+    0.14
+  );
+  --jp-shadow-ambient-color: rgba(
+    var(--jp-shadow-base-lightness),
+    var(--jp-shadow-base-lightness),
+    var(--jp-shadow-base-lightness),
+    0.12
+  );
+  --jp-elevation-z0: none;
+  --jp-elevation-z1: 0px 2px 1px -1px var(--jp-shadow-umbra-color),
+    0px 1px 1px 0px var(--jp-shadow-penumbra-color),
+    0px 1px 3px 0px var(--jp-shadow-ambient-color);
+  --jp-elevation-z2: 0px 3px 1px -2px var(--jp-shadow-umbra-color),
+    0px 2px 2px 0px var(--jp-shadow-penumbra-color),
+    0px 1px 5px 0px var(--jp-shadow-ambient-color);
+  --jp-elevation-z4: 0px 2px 4px -1px var(--jp-shadow-umbra-color),
+    0px 4px 5px 0px var(--jp-shadow-penumbra-color),
+    0px 1px 10px 0px var(--jp-shadow-ambient-color);
+  --jp-elevation-z6: 0px 3px 5px -1px var(--jp-shadow-umbra-color),
+    0px 6px 10px 0px var(--jp-shadow-penumbra-color),
+    0px 1px 18px 0px var(--jp-shadow-ambient-color);
+  --jp-elevation-z8: 0px 5px 5px -3px var(--jp-shadow-umbra-color),
+    0px 8px 10px 1px var(--jp-shadow-penumbra-color),
+    0px 3px 14px 2px var(--jp-shadow-ambient-color);
+  --jp-elevation-z12: 0px 7px 8px -4px var(--jp-shadow-umbra-color),
+    0px 12px 17px 2px var(--jp-shadow-penumbra-color),
+    0px 5px 22px 4px var(--jp-shadow-ambient-color);
+  --jp-elevation-z16: 0px 8px 10px -5px var(--jp-shadow-umbra-color),
+    0px 16px 24px 2px var(--jp-shadow-penumbra-color),
+    0px 6px 30px 5px var(--jp-shadow-ambient-color);
+  --jp-elevation-z20: 0px 10px 13px -6px var(--jp-shadow-umbra-color),
+    0px 20px 31px 3px var(--jp-shadow-penumbra-color),
+    0px 8px 38px 7px var(--jp-shadow-ambient-color);
+  --jp-elevation-z24: 0px 11px 15px -7px var(--jp-shadow-umbra-color),
+    0px 24px 38px 3px var(--jp-shadow-penumbra-color),
+    0px 9px 46px 8px var(--jp-shadow-ambient-color);
+
+  /* Borders
+   *
+   * The following variables, specify the visual styling of borders in JupyterLab.
+   */
+
+  --jp-border-width: 1px;
+  --jp-border-color0: var(--md-grey-400);
+  --jp-border-color1: var(--md-grey-400);
+  --jp-border-color2: var(--md-grey-300);
+  --jp-border-color3: var(--md-grey-200);
+  --jp-border-radius: 2px;
+
+  /* UI Fonts
+   *
+   * The UI font CSS variables are used for the typography all of the JupyterLab
+   * user interface elements that are not directly user generated content.
+   *
+   * The font sizing here is done assuming that the body font size of --jp-ui-font-size1
+   * is applied to a parent element. When children elements, such as headings, are sized
+   * in em all things will be computed relative to that body size.
+   */
+
+  --jp-ui-font-scale-factor: 1.2;
+  --jp-ui-font-size0: 0.83333em;
+  --jp-ui-font-size1: 13px; /* Base font size */
+  --jp-ui-font-size2: 1.2em;
+  --jp-ui-font-size3: 1.44em;
+
+  --jp-ui-font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica,
+    Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';
+
+  /*
+   * Use these font colors against the corresponding main layout colors.
+   * In a light theme, these go from dark to light.
+   */
+
+  /* Defaults use Material Design specification */
+  --jp-ui-font-color0: rgba(0, 0, 0, 1);
+  --jp-ui-font-color1: rgba(0, 0, 0, 0.87);
+  --jp-ui-font-color2: rgba(0, 0, 0, 0.54);
+  --jp-ui-font-color3: rgba(0, 0, 0, 0.38);
+
+  /*
+   * Use these against the brand/accent/warn/error colors.
+   * These will typically go from light to darker, in both a dark and light theme.
+   */
+
+  --jp-ui-inverse-font-color0: rgba(255, 255, 255, 1);
+  --jp-ui-inverse-font-color1: rgba(255, 255, 255, 1);
+  --jp-ui-inverse-font-color2: rgba(255, 255, 255, 0.7);
+  --jp-ui-inverse-font-color3: rgba(255, 255, 255, 0.5);
+
+  /* Content Fonts
+   *
+   * Content font variables are used for typography of user generated content.
+   *
+   * The font sizing here is done assuming that the body font size of --jp-content-font-size1
+   * is applied to a parent element. When children elements, such as headings, are sized
+   * in em all things will be computed relative to that body size.
+   */
+
+  --jp-content-line-height: 1.6;
+  --jp-content-font-scale-factor: 1.2;
+  --jp-content-font-size0: 0.83333em;
+  --jp-content-font-size1: 14px; /* Base font size */
+  --jp-content-font-size2: 1.2em;
+  --jp-content-font-size3: 1.44em;
+  --jp-content-font-size4: 1.728em;
+  --jp-content-font-size5: 2.0736em;
+
+  /* This gives a magnification of about 125% in presentation mode over normal. */
+  --jp-content-presentation-font-size1: 17px;
+
+  --jp-content-heading-line-height: 1;
+  --jp-content-heading-margin-top: 1.2em;
+  --jp-content-heading-margin-bottom: 0.8em;
+  --jp-content-heading-font-weight: 500;
+
+  /* Defaults use Material Design specification */
+  --jp-content-font-color0: rgba(0, 0, 0, 1);
+  --jp-content-font-color1: rgba(0, 0, 0, 0.87);
+  --jp-content-font-color2: rgba(0, 0, 0, 0.54);
+  --jp-content-font-color3: rgba(0, 0, 0, 0.38);
+
+  --jp-content-link-color: var(--md-blue-700);
+
+  --jp-content-font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI',
+    Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji',
+    'Segoe UI Symbol';
+
+  /*
+   * Code Fonts
+   *
+   * Code font variables are used for typography of code and other monospaces content.
+   */
+
+  --jp-code-font-size: 13px;
+  --jp-code-line-height: 1.3077; /* 17px for 13px base */
+  --jp-code-padding: 5px; /* 5px for 13px base, codemirror highlighting needs integer px value */
+  --jp-code-font-family-default: Menlo, Consolas, 'DejaVu Sans Mono', monospace;
+  --jp-code-font-family: var(--jp-code-font-family-default);
+
+  /* This gives a magnification of about 125% in presentation mode over normal. */
+  --jp-code-presentation-font-size: 16px;
+
+  /* may need to tweak cursor width if you change font size */
+  --jp-code-cursor-width0: 1.4px;
+  --jp-code-cursor-width1: 2px;
+  --jp-code-cursor-width2: 4px;
+
+  /* Layout
+   *
+   * The following are the main layout colors use in JupyterLab. In a light
+   * theme these would go from light to dark.
+   */
+
+  --jp-layout-color0: white;
+  --jp-layout-color1: white;
+  --jp-layout-color2: var(--md-grey-200);
+  --jp-layout-color3: var(--md-grey-400);
+  --jp-layout-color4: var(--md-grey-600);
+
+  /* Inverse Layout
+   *
+   * The following are the inverse layout colors use in JupyterLab. In a light
+   * theme these would go from dark to light.
+   */
+
+  --jp-inverse-layout-color0: #111111;
+  --jp-inverse-layout-color1: var(--md-grey-900);
+  --jp-inverse-layout-color2: var(--md-grey-800);
+  --jp-inverse-layout-color3: var(--md-grey-700);
+  --jp-inverse-layout-color4: var(--md-grey-600);
+
+  /* Brand/accent */
+
+  --jp-brand-color0: var(--md-blue-700);
+  --jp-brand-color1: var(--md-blue-500);
+  --jp-brand-color2: var(--md-blue-300);
+  --jp-brand-color3: var(--md-blue-100);
+  --jp-brand-color4: var(--md-blue-50);
+
+  --jp-accent-color0: var(--md-green-700);
+  --jp-accent-color1: var(--md-green-500);
+  --jp-accent-color2: var(--md-green-300);
+  --jp-accent-color3: var(--md-green-100);
+
+  /* State colors (warn, error, success, info) */
+
+  --jp-warn-color0: var(--md-orange-700);
+  --jp-warn-color1: var(--md-orange-500);
+  --jp-warn-color2: var(--md-orange-300);
+  --jp-warn-color3: var(--md-orange-100);
+
+  --jp-error-color0: var(--md-red-700);
+  --jp-error-color1: var(--md-red-500);
+  --jp-error-color2: var(--md-red-300);
+  --jp-error-color3: var(--md-red-100);
+
+  --jp-success-color0: var(--md-green-700);
+  --jp-success-color1: var(--md-green-500);
+  --jp-success-color2: var(--md-green-300);
+  --jp-success-color3: var(--md-green-100);
+
+  --jp-info-color0: var(--md-cyan-700);
+  --jp-info-color1: var(--md-cyan-500);
+  --jp-info-color2: var(--md-cyan-300);
+  --jp-info-color3: var(--md-cyan-100);
+
+  /* Cell specific styles */
+
+  --jp-cell-padding: 5px;
+
+  --jp-cell-collapser-width: 8px;
+  --jp-cell-collapser-min-height: 20px;
+  --jp-cell-collapser-not-active-hover-opacity: 0.6;
+
+  --jp-cell-editor-background: var(--md-grey-100);
+  --jp-cell-editor-border-color: var(--md-grey-300);
+  --jp-cell-editor-box-shadow: inset 0 0 2px var(--md-blue-300);
+  --jp-cell-editor-active-background: var(--jp-layout-color0);
+  --jp-cell-editor-active-border-color: var(--jp-brand-color1);
+
+  --jp-cell-prompt-width: 64px;
+  --jp-cell-prompt-font-family: var(--jp-code-font-family-default);
+  --jp-cell-prompt-letter-spacing: 0px;
+  --jp-cell-prompt-opacity: 1;
+  --jp-cell-prompt-not-active-opacity: 0.5;
+  --jp-cell-prompt-not-active-font-color: var(--md-grey-700);
+  /* A custom blend of MD grey and blue 600
+   * See https://meyerweb.com/eric/tools/color-blend/#546E7A:1E88E5:5:hex */
+  --jp-cell-inprompt-font-color: #307fc1;
+  /* A custom blend of MD grey and orange 600
+   * https://meyerweb.com/eric/tools/color-blend/#546E7A:F4511E:5:hex */
+  --jp-cell-outprompt-font-color: #bf5b3d;
+
+  /* Notebook specific styles */
+
+  --jp-notebook-padding: 10px;
+  --jp-notebook-select-background: var(--jp-layout-color1);
+  --jp-notebook-multiselected-color: var(--md-blue-50);
+
+  /* The scroll padding is calculated to fill enough space at the bottom of the
+  notebook to show one single-line cell (with appropriate padding) at the top
+  when the notebook is scrolled all the way to the bottom. We also subtract one
+  pixel so that no scrollbar appears if we have just one single-line cell in the
+  notebook. This padding is to enable a 'scroll past end' feature in a notebook.
+  */
+  --jp-notebook-scroll-padding: calc(
+    100% - var(--jp-code-font-size) * var(--jp-code-line-height) -
+      var(--jp-code-padding) - var(--jp-cell-padding) - 1px
+  );
+
+  /* Rendermime styles */
+
+  --jp-rendermime-error-background: #fdd;
+  --jp-rendermime-table-row-background: var(--md-grey-100);
+  --jp-rendermime-table-row-hover-background: var(--md-light-blue-50);
+
+  /* Dialog specific styles */
+
+  --jp-dialog-background: rgba(0, 0, 0, 0.25);
+
+  /* Console specific styles */
+
+  --jp-console-padding: 10px;
+
+  /* Toolbar specific styles */
+
+  --jp-toolbar-border-color: var(--jp-border-color1);
+  --jp-toolbar-micro-height: 8px;
+  --jp-toolbar-background: var(--jp-layout-color1);
+  --jp-toolbar-box-shadow: 0px 0px 2px 0px rgba(0, 0, 0, 0.24);
+  --jp-toolbar-header-margin: 4px 4px 0px 4px;
+  --jp-toolbar-active-background: var(--md-grey-300);
+
+  /* Input field styles */
+
+  --jp-input-box-shadow: inset 0 0 2px var(--md-blue-300);
+  --jp-input-active-background: var(--jp-layout-color1);
+  --jp-input-hover-background: var(--jp-layout-color1);
+  --jp-input-background: var(--md-grey-100);
+  --jp-input-border-color: var(--jp-border-color1);
+  --jp-input-active-border-color: var(--jp-brand-color1);
+  --jp-input-active-box-shadow-color: rgba(19, 124, 189, 0.3);
+
+  /* General editor styles */
+
+  --jp-editor-selected-background: #d9d9d9;
+  --jp-editor-selected-focused-background: #d7d4f0;
+  --jp-editor-cursor-color: var(--jp-ui-font-color0);
+
+  /* Code mirror specific styles */
+
+  --jp-mirror-editor-keyword-color: #008000;
+  --jp-mirror-editor-atom-color: #88f;
+  --jp-mirror-editor-number-color: #080;
+  --jp-mirror-editor-def-color: #00f;
+  --jp-mirror-editor-variable-color: var(--md-grey-900);
+  --jp-mirror-editor-variable-2-color: #05a;
+  --jp-mirror-editor-variable-3-color: #085;
+  --jp-mirror-editor-punctuation-color: #05a;
+  --jp-mirror-editor-property-color: #05a;
+  --jp-mirror-editor-operator-color: #aa22ff;
+  --jp-mirror-editor-comment-color: #408080;
+  --jp-mirror-editor-string-color: #ba2121;
+  --jp-mirror-editor-string-2-color: #708;
+  --jp-mirror-editor-meta-color: #aa22ff;
+  --jp-mirror-editor-qualifier-color: #555;
+  --jp-mirror-editor-builtin-color: #008000;
+  --jp-mirror-editor-bracket-color: #997;
+  --jp-mirror-editor-tag-color: #170;
+  --jp-mirror-editor-attribute-color: #00c;
+  --jp-mirror-editor-header-color: blue;
+  --jp-mirror-editor-quote-color: #090;
+  --jp-mirror-editor-link-color: #00c;
+  --jp-mirror-editor-error-color: #f00;
+  --jp-mirror-editor-hr-color: #999;
+
+  /* Vega extension styles */
+
+  --jp-vega-background: white;
+
+  /* Sidebar-related styles */
+
+  --jp-sidebar-min-width: 250px;
+
+  /* Search-related styles */
+
+  --jp-search-toggle-off-opacity: 0.5;
+  --jp-search-toggle-hover-opacity: 0.8;
+  --jp-search-toggle-on-opacity: 1;
+  --jp-search-selected-match-background-color: rgb(245, 200, 0);
+  --jp-search-selected-match-color: black;
+  --jp-search-unselected-match-background-color: var(
+    --jp-inverse-layout-color0
+  );
+  --jp-search-unselected-match-color: var(--jp-ui-inverse-font-color0);
+
+  /* Icon colors that work well with light or dark backgrounds */
+  --jp-icon-contrast-color0: var(--md-purple-600);
+  --jp-icon-contrast-color1: var(--md-green-600);
+  --jp-icon-contrast-color2: var(--md-pink-600);
+  --jp-icon-contrast-color3: var(--md-blue-600);
+}
+</style>
+
+<style type="text/css">
+a.anchor-link {
+   display: none;
+}
+.highlight  {
+    margin: 0.4em;
+}
+
+/* Input area styling */
+.jp-InputArea {
+    overflow: hidden;
+}
+
+.jp-InputArea-editor {
+    overflow: hidden;
+}
+
+@media print {
+  body {
+    margin: 0;
+  }
+}
+</style>
+
+<!-- Load mathjax -->
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/latest.js?config=TeX-MML-AM_CHTML-full,Safe"> </script>
+    <!-- MathJax configuration -->
+    <script type="text/x-mathjax-config">
+    init_mathjax = function() {
+        if (window.MathJax) {
+        // MathJax loaded
+            MathJax.Hub.Config({
+                TeX: {
+                    equationNumbers: {
+                    autoNumber: "AMS",
+                    useLabelIds: true
+                    }
+                },
+                tex2jax: {
+                    inlineMath: [ ['$','$'], ["\\(","\\)"] ],
+                    displayMath: [ ['$$','$$'], ["\\[","\\]"] ],
+                    processEscapes: true,
+                    processEnvironments: true
+                },
+                displayAlign: 'center',
+                CommonHTML: {
+                    linebreaks: { 
+                    automatic: true 
+                    }
+                },
+                "HTML-CSS": {
+                    linebreaks: { 
+                    automatic: true 
+                    }
+                }
+            });
+        
+            MathJax.Hub.Queue(["Typeset", MathJax.Hub]);
+        }
+    }
+    init_mathjax();
+    </script>
+    <!-- End of mathjax configuration --></head>
+<body class="jp-Notebook" data-jp-theme-light="true" data-jp-theme-name="JupyterLab Light">
+
+<div class="jp-Cell-inputWrapper"><div class="jp-InputPrompt jp-InputArea-prompt">
+</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
+<p><a id='step1'></a></p>
+
+</div>
+</div>
+<div class="jp-Cell-inputWrapper"><div class="jp-InputPrompt jp-InputArea-prompt">
+</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
+<h1 id="23---Edge-Effects-with-Hourly-Tracking-Dictionary">23 - Edge Effects with Hourly Tracking Dictionary<a class="anchor-link" href="#23---Edge-Effects-with-Hourly-Tracking-Dictionary">&#182;</a></h1><p>The tracker dictionary is the internal structure of bifacial_radiance to keep track of the multiple Angles or Hours that it's simulating, the rad files, scene, oct files and analysis. Before release v0.4.3, while you could run analysis various times to model different modules in the field and it would save your CSV irradiances, it only kep track of ONE analysis object (the one that was generated last). Given our new performance module calculation functionality, this was updated so that now it keeps track of every module/row analyzed. See example below.</p>
+<p>Here we model a central module and an edge module on the center row of an array, to evaluate edge effects.</p>
+
+</div>
+</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell   ">
+<div class="jp-Cell-inputWrapper">
+<div class="jp-InputArea jp-Cell-inputArea">
+<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[1]:</div>
+<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
+     <div class="CodeMirror cm-s-jupyter">
+<div class=" highlight hl-ipython3"><pre><span></span><span class="kn">import</span> <span class="nn">os</span>
+<span class="kn">from</span> <span class="nn">pathlib</span> <span class="kn">import</span> <span class="n">Path</span>
+
+<span class="n">testfolder</span> <span class="o">=</span> <span class="nb">str</span><span class="p">(</span><span class="n">Path</span><span class="p">()</span><span class="o">.</span><span class="n">resolve</span><span class="p">()</span><span class="o">.</span><span class="n">parent</span><span class="o">.</span><span class="n">parent</span> <span class="o">/</span> <span class="s1">&#39;bifacial_radiance&#39;</span> <span class="o">/</span> <span class="s1">&#39;TEMP&#39;</span> <span class="o">/</span> <span class="s1">&#39;Tutorial_23&#39;</span><span class="p">)</span>
+<span class="k">if</span> <span class="ow">not</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">exists</span><span class="p">(</span><span class="n">testfolder</span><span class="p">):</span>
+    <span class="n">os</span><span class="o">.</span><span class="n">makedirs</span><span class="p">(</span><span class="n">testfolder</span><span class="p">)</span>
+        
+<span class="nb">print</span> <span class="p">(</span><span class="s2">&quot;Your simulation will be stored in </span><span class="si">%s</span><span class="s2">&quot;</span> <span class="o">%</span> <span class="n">testfolder</span><span class="p">)</span>
+</pre></div>
+
+     </div>
+</div>
+</div>
+</div>
+
+<div class="jp-Cell-outputWrapper">
+
+
+<div class="jp-OutputArea jp-Cell-outputArea">
+
+<div class="jp-OutputArea-child">
+
+    
+    <div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
+
+
+<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="text/plain">
+<pre>Your simulation will be stored in C:\Users\sayala\Documents\GitHub\bifacial_radiance\bifacial_radiance\TEMP\Tutorial_23
+</pre>
+</div>
+</div>
+
+</div>
+
+</div>
+
+</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs  ">
+<div class="jp-Cell-inputWrapper">
+<div class="jp-InputArea jp-Cell-inputArea">
+<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[2]:</div>
+<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
+     <div class="CodeMirror cm-s-jupyter">
+<div class=" highlight hl-ipython3"><pre><span></span><span class="kn">import</span> <span class="nn">bifacial_radiance</span>
+<span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span>
+<span class="kn">import</span> <span class="nn">pprint</span>   
+<span class="kn">import</span> <span class="nn">pandas</span> <span class="k">as</span> <span class="nn">pd</span>
+</pre></div>
+
+     </div>
+</div>
+</div>
+</div>
+
+</div>
+<div class="jp-Cell-inputWrapper"><div class="jp-InputPrompt jp-InputArea-prompt">
+</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
+<p><a id='step2'></a></p>
+
+</div>
+</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell   ">
+<div class="jp-Cell-inputWrapper">
+<div class="jp-InputArea jp-Cell-inputArea">
+<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[5]:</div>
+<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
+     <div class="CodeMirror cm-s-jupyter">
+<div class=" highlight hl-ipython3"><pre><span></span><span class="kn">import</span> <span class="nn">bifacial_radiance</span>
+<span class="kn">import</span> <span class="nn">os</span> 
+
+<span class="n">simulationName</span> <span class="o">=</span> <span class="s1">&#39;Tutorial 23&#39;</span>
+<span class="n">moduletype</span> <span class="o">=</span> <span class="s1">&#39;test-module&#39;</span>    
+<span class="n">albedo</span> <span class="o">=</span> <span class="mf">0.2</span>    
+<span class="n">lat</span> <span class="o">=</span> <span class="mf">37.5</span>   
+<span class="n">lon</span> <span class="o">=</span> <span class="o">-</span><span class="mf">77.6</span>
+
+<span class="c1">#makeModule parameters</span>
+<span class="n">modx</span><span class="o">=</span><span class="mi">1</span>
+<span class="n">mody</span><span class="o">=</span><span class="mi">2</span>
+<span class="n">xgap</span> <span class="o">=</span> <span class="mf">0.01</span>
+<span class="n">ygap</span> <span class="o">=</span> <span class="mf">0.0</span>
+<span class="n">zgap</span> <span class="o">=</span> <span class="mf">0.15</span>
+<span class="n">numpanels</span> <span class="o">=</span> <span class="mi">1</span>
+
+<span class="c1"># Scene variables</span>
+<span class="n">nMods</span> <span class="o">=</span> <span class="mi">20</span>
+<span class="n">nRows</span> <span class="o">=</span> <span class="mi">7</span>
+<span class="n">hub_height</span> <span class="o">=</span> <span class="mf">1.5</span> <span class="c1"># meters</span>
+<span class="n">pitch</span> <span class="o">=</span> <span class="mi">6</span> <span class="c1"># meters  </span>
+<span class="n">gcr</span> <span class="o">=</span> <span class="n">mody</span><span class="o">/</span><span class="n">pitch</span>
+
+<span class="c1"># Traking parameters</span>
+<span class="n">cumulativesky</span> <span class="o">=</span> <span class="kc">False</span>
+<span class="n">limit_angle</span> <span class="o">=</span> <span class="mi">45</span> <span class="c1"># degrees </span>
+<span class="n">angledelta</span> <span class="o">=</span> <span class="mf">0.01</span> <span class="c1"># </span>
+<span class="n">backtrack</span> <span class="o">=</span> <span class="kc">True</span> 
+
+
+<span class="n">torquetube</span> <span class="o">=</span> <span class="kc">True</span>
+<span class="c1"># the Tracker rotates around the panels</span>
+<span class="n">tubeParams</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;diameter&#39;</span><span class="p">:</span><span class="mf">0.15</span><span class="p">,</span>
+              <span class="s1">&#39;tubetype&#39;</span><span class="p">:</span><span class="s1">&#39;round&#39;</span><span class="p">,</span>
+              <span class="s1">&#39;material&#39;</span><span class="p">:</span><span class="s1">&#39;black&#39;</span><span class="p">,</span>
+              <span class="s1">&#39;axisofrotation&#39;</span><span class="p">:</span><span class="kc">False</span><span class="p">}</span>
+
+<span class="n">startdate</span> <span class="o">=</span> <span class="s1">&#39;11_06_11&#39;</span>     
+<span class="n">enddate</span> <span class="o">=</span> <span class="s1">&#39;11_06_12&#39;</span>
+<span class="n">demo</span> <span class="o">=</span> <span class="n">bifacial_radiance</span><span class="o">.</span><span class="n">RadianceObj</span><span class="p">(</span><span class="n">simulationName</span><span class="p">,</span> <span class="n">path</span><span class="o">=</span><span class="n">testfolder</span><span class="p">)</span>  
+<span class="n">demo</span><span class="o">.</span><span class="n">setGround</span><span class="p">(</span><span class="n">albedo</span><span class="p">)</span> 
+<span class="n">epwfile</span> <span class="o">=</span> <span class="n">demo</span><span class="o">.</span><span class="n">getEPW</span><span class="p">(</span><span class="n">lat</span><span class="p">,</span><span class="n">lon</span><span class="p">)</span> 
+<span class="n">metdata</span> <span class="o">=</span> <span class="n">demo</span><span class="o">.</span><span class="n">readWeatherFile</span><span class="p">(</span><span class="n">epwfile</span><span class="p">,</span> <span class="n">starttime</span><span class="o">=</span><span class="n">startdate</span><span class="p">,</span> <span class="n">endtime</span><span class="o">=</span><span class="n">enddate</span><span class="p">)</span>  
+<span class="n">mymodule</span> <span class="o">=</span> <span class="n">bifacial_radiance</span><span class="o">.</span><span class="n">ModuleObj</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="n">moduletype</span><span class="p">,</span> <span class="n">x</span><span class="o">=</span><span class="n">modx</span><span class="p">,</span> <span class="n">y</span><span class="o">=</span><span class="n">mody</span><span class="p">,</span> <span class="n">xgap</span><span class="o">=</span><span class="n">xgap</span><span class="p">,</span> <span class="n">ygap</span><span class="o">=</span><span class="n">ygap</span><span class="p">,</span>   
+                <span class="n">zgap</span><span class="o">=</span><span class="n">zgap</span><span class="p">,</span> <span class="n">numpanels</span><span class="o">=</span><span class="n">numpanels</span><span class="p">,</span> <span class="n">tubeParams</span><span class="o">=</span><span class="n">tubeParams</span><span class="p">)</span>
+<span class="n">sceneDict</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;pitch&#39;</span><span class="p">:</span><span class="n">pitch</span><span class="p">,</span><span class="s1">&#39;hub_height&#39;</span><span class="p">:</span><span class="n">hub_height</span><span class="p">,</span> <span class="s1">&#39;nMods&#39;</span><span class="p">:</span> <span class="n">nMods</span><span class="p">,</span> <span class="s1">&#39;nRows&#39;</span><span class="p">:</span> <span class="n">nRows</span><span class="p">}</span>  
+<span class="n">demo</span><span class="o">.</span><span class="n">set1axis</span><span class="p">(</span><span class="n">limit_angle</span> <span class="o">=</span> <span class="n">limit_angle</span><span class="p">,</span> <span class="n">backtrack</span> <span class="o">=</span> <span class="n">backtrack</span><span class="p">,</span> <span class="n">gcr</span> <span class="o">=</span> <span class="n">gcr</span><span class="p">,</span> <span class="n">cumulativesky</span> <span class="o">=</span> <span class="n">cumulativesky</span><span class="p">)</span>
+<span class="n">demo</span><span class="o">.</span><span class="n">gendaylit1axis</span><span class="p">()</span>
+<span class="n">demo</span><span class="o">.</span><span class="n">makeScene1axis</span><span class="p">(</span><span class="n">module</span><span class="o">=</span><span class="n">mymodule</span><span class="p">,</span><span class="n">sceneDict</span><span class="o">=</span><span class="n">sceneDict</span><span class="p">)</span> <span class="c1">#makeScene creates a .rad file with 20 modules per row, 7 rows.</span>
+<span class="n">demo</span><span class="o">.</span><span class="n">makeOct1axis</span><span class="p">()</span>
+</pre></div>
+
+     </div>
+</div>
+</div>
+</div>
+
+<div class="jp-Cell-outputWrapper">
+
+
+<div class="jp-OutputArea jp-Cell-outputArea">
+
+<div class="jp-OutputArea-child">
+
+    
+    <div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
+
+
+<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="text/plain">
+<pre>path = C:\Users\sayala\Documents\GitHub\bifacial_radiance\bifacial_radiance\TEMP\Tutorial_23
+Loading albedo, 1 value(s), 0.200 avg
+1 nonzero albedo values.
+Getting weather file: USA_VA_Richmond.724010_TMY2.epw
+ ... OK!
+8760 line in WeatherFile. Assuming this is a standard hourly WeatherFile for the year for purposes of saving Gencumulativesky temporary weather files in EPW folder.
+Coercing year to 2021
+Filtering dates
+Saving file EPWs\metdata_temp.csv, # points: 8760
+Calculating Sun position for Metdata that is right-labeled  with a delta of -30 mins. i.e. 12 is 11:30 sunpos
+
+Module Name: test-module
+Module test-module updated in module.json
+Pre-existing .rad file objects\test-module.rad will be overwritten
+
+Creating ~2 skyfiles. 
+Created 2 skyfiles in /skies/
+
+Making ~2 .rad files for gendaylit 1-axis workflow (this takes a minute..)
+2 Radfiles created in /objects/
+
+Making 2 octfiles in root directory.
+Created 1axis_2021-11-06_1100.oct
+Created 1axis_2021-11-06_1200.oct
+</pre>
+</div>
+</div>
+
+<div class="jp-OutputArea-child">
+
+    
+    <div class="jp-OutputPrompt jp-OutputArea-prompt">Out[5]:</div>
+
+
+
+
+<div class="jp-RenderedText jp-OutputArea-output jp-OutputArea-executeResult" data-mime-type="text/plain">
+<pre>{&#39;2021-11-06_1100&#39;: {&#39;surf_azm&#39;: 90.0,
+  &#39;surf_tilt&#39;: 32.06,
+  &#39;theta&#39;: -32.06,
+  &#39;ghi&#39;: 303,
+  &#39;dhi&#39;: 191,
+  &#39;temp_air&#39;: 19.4,
+  &#39;wind_speed&#39;: 7.2,
+  &#39;skyfile&#39;: &#39;skies\\sky2_37.5_-77.33_2021-11-06_1100.rad&#39;,
+  &#39;clearance_height&#39;: 0.9691929526002403,
+  &#39;radfile&#39;: &#39;objects\\1axis2021-11-06_1100__C_0.96919_rtr_6.00000_tilt_32.06000_20modsx7rows_origin0,0.rad&#39;,
+  &#39;scene&#39;: {&#39;module&#39;: {&#39;x&#39;: 1, &#39;y&#39;: 2, &#39;z&#39;: 0.02, &#39;modulematerial&#39;: &#39;black&#39;, &#39;scenex&#39;: 1.01, &#39;sceney&#39;: 2.0, &#39;scenez&#39;: 0.225, &#39;numpanels&#39;: 1, &#39;bifi&#39;: 1, &#39;text&#39;: &#39;! genbox black test-module 1 2 0.02 | xform -t -0.5 -1.0 0 -a 1 -t 0 2.0 0\r\n! genrev black tube1 t*1.01 0.075 32 | xform -ry 90 -t -0.505 0 -0.22499999999999998&#39;, &#39;modulefile&#39;: &#39;objects\\test-module.rad&#39;, &#39;glass&#39;: False, &#39;offsetfromaxis&#39;: 0, &#39;xgap&#39;: 0.01, &#39;ygap&#39;: 0.0, &#39;zgap&#39;: 0.15}, &#39;modulefile&#39;: &#39;objects\\test-module.rad&#39;, &#39;hpc&#39;: False, &#39;gcr&#39;: 0.3333333333333333, &#39;text&#39;: &#39;!xform -rx 32.06 -t 0 0 1.5 -a 20 -t 1.01 0 0 -a 7 -t 0 6 0 -i 1 -t -9.09 -18.0 0 -rz 90.0 -t 0 0 0 objects\\test-module.rad&#39;, &#39;radfiles&#39;: &#39;objects\\1axis2021-11-06_1100__C_0.96919_rtr_6.00000_tilt_32.06000_20modsx7rows_origin0,0.rad&#39;, &#39;sceneDict&#39;: {&#39;tilt&#39;: 32.06, &#39;pitch&#39;: 6, &#39;clearance_height&#39;: 0.9691929526002403, &#39;azimuth&#39;: 90.0, &#39;nMods&#39;: 20, &#39;nRows&#39;: 7, &#39;modulez&#39;: 0.02, &#39;axis_tilt&#39;: 0, &#39;originx&#39;: 0, &#39;originy&#39;: 0}},
+  &#39;octfile&#39;: &#39;1axis_2021-11-06_1100.oct&#39;},
+ &#39;2021-11-06_1200&#39;: {&#39;surf_azm&#39;: 90.0,
+  &#39;surf_tilt&#39;: 9.27,
+  &#39;theta&#39;: -9.27,
+  &#39;ghi&#39;: 200,
+  &#39;dhi&#39;: 197,
+  &#39;temp_air&#39;: 20.0,
+  &#39;wind_speed&#39;: 5.2,
+  &#39;skyfile&#39;: &#39;skies\\sky2_37.5_-77.33_2021-11-06_1200.rad&#39;,
+  &#39;clearance_height&#39;: 1.3389129174701335,
+  &#39;radfile&#39;: &#39;objects\\1axis2021-11-06_1200__C_1.33891_rtr_6.00000_tilt_9.27000_20modsx7rows_origin0,0.rad&#39;,
+  &#39;scene&#39;: {&#39;module&#39;: {&#39;x&#39;: 1, &#39;y&#39;: 2, &#39;z&#39;: 0.02, &#39;modulematerial&#39;: &#39;black&#39;, &#39;scenex&#39;: 1.01, &#39;sceney&#39;: 2.0, &#39;scenez&#39;: 0.225, &#39;numpanels&#39;: 1, &#39;bifi&#39;: 1, &#39;text&#39;: &#39;! genbox black test-module 1 2 0.02 | xform -t -0.5 -1.0 0 -a 1 -t 0 2.0 0\r\n! genrev black tube1 t*1.01 0.075 32 | xform -ry 90 -t -0.505 0 -0.22499999999999998&#39;, &#39;modulefile&#39;: &#39;objects\\test-module.rad&#39;, &#39;glass&#39;: False, &#39;offsetfromaxis&#39;: 0, &#39;xgap&#39;: 0.01, &#39;ygap&#39;: 0.0, &#39;zgap&#39;: 0.15}, &#39;modulefile&#39;: &#39;objects\\test-module.rad&#39;, &#39;hpc&#39;: False, &#39;gcr&#39;: 0.3333333333333333, &#39;text&#39;: &#39;!xform -rx 9.27 -t 0 0 1.5 -a 20 -t 1.01 0 0 -a 7 -t 0 6 0 -i 1 -t -9.09 -18.0 0 -rz 90.0 -t 0 0 0 objects\\test-module.rad&#39;, &#39;radfiles&#39;: &#39;objects\\1axis2021-11-06_1200__C_1.33891_rtr_6.00000_tilt_9.27000_20modsx7rows_origin0,0.rad&#39;, &#39;sceneDict&#39;: {&#39;tilt&#39;: 9.27, &#39;pitch&#39;: 6, &#39;clearance_height&#39;: 1.3389129174701335, &#39;azimuth&#39;: 90.0, &#39;nMods&#39;: 20, &#39;nRows&#39;: 7, &#39;modulez&#39;: 0.02, &#39;axis_tilt&#39;: 0, &#39;originx&#39;: 0, &#39;originy&#39;: 0}},
+  &#39;octfile&#39;: &#39;1axis_2021-11-06_1200.oct&#39;}}</pre>
+</div>
+
+</div>
+
+</div>
+
+</div>
+
+</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell   ">
+<div class="jp-Cell-inputWrapper">
+<div class="jp-InputArea jp-Cell-inputArea">
+<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[7]:</div>
+<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
+     <div class="CodeMirror cm-s-jupyter">
+<div class=" highlight hl-ipython3"><pre><span></span><span class="n">demo</span><span class="o">.</span><span class="n">trackerdict</span><span class="o">.</span><span class="n">keys</span><span class="p">()</span>
+</pre></div>
+
+     </div>
+</div>
+</div>
+</div>
+
+<div class="jp-Cell-outputWrapper">
+
+
+<div class="jp-OutputArea jp-Cell-outputArea">
+
+<div class="jp-OutputArea-child">
+
+    
+    <div class="jp-OutputPrompt jp-OutputArea-prompt">Out[7]:</div>
+
+
+
+
+<div class="jp-RenderedText jp-OutputArea-output jp-OutputArea-executeResult" data-mime-type="text/plain">
+<pre>dict_keys([&#39;2021-11-06_1100&#39;, &#39;2021-11-06_1200&#39;])</pre>
+</div>
+
+</div>
+
+</div>
+
+</div>
+
+</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell   ">
+<div class="jp-Cell-inputWrapper">
+<div class="jp-InputArea jp-Cell-inputArea">
+<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[13]:</div>
+<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
+     <div class="CodeMirror cm-s-jupyter">
+<div class=" highlight hl-ipython3"><pre><span></span><span class="n">demo</span><span class="o">.</span><span class="n">analysis1axis</span><span class="p">(</span><span class="n">modWanted</span><span class="o">=</span><span class="p">[</span><span class="mi">1</span><span class="p">,</span> <span class="mi">10</span><span class="p">])</span>
+</pre></div>
+
+     </div>
+</div>
+</div>
+</div>
+
+<div class="jp-Cell-outputWrapper">
+
+
+<div class="jp-OutputArea jp-Cell-outputArea">
+
+<div class="jp-OutputArea-child">
+
+    
+    <div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
+
+
+<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="text/plain">
+<pre>Linescan in process: 1axis_2021-11-06_1100_Row4_Module1_Front
+Linescan in process: 1axis_2021-11-06_1100_Row4_Module1_Back
+Saved: results\irr_1axis_2021-11-06_1100_Row4_Module1.csv
+Index: 2021-11-06_1100. Wm2Front: 331.78181111111115. Wm2Back: 50.32972777777778
+Linescan in process: 1axis_2021-11-06_1100_Row4_Module10_Front
+Linescan in process: 1axis_2021-11-06_1100_Row4_Module10_Back
+Saved: results\irr_1axis_2021-11-06_1100_Row4_Module10.csv
+Index: 2021-11-06_1100. Wm2Front: 327.12583333333333. Wm2Back: 32.226955555555556
+Linescan in process: 1axis_2021-11-06_1200_Row4_Module1_Front
+Linescan in process: 1axis_2021-11-06_1200_Row4_Module1_Back
+Saved: results\irr_1axis_2021-11-06_1200_Row4_Module1.csv
+Index: 2021-11-06_1200. Wm2Front: 196.39654444444446. Wm2Back: 27.224256666666665
+Linescan in process: 1axis_2021-11-06_1200_Row4_Module10_Front
+Linescan in process: 1axis_2021-11-06_1200_Row4_Module10_Back
+Saved: results\irr_1axis_2021-11-06_1200_Row4_Module10.csv
+Index: 2021-11-06_1200. Wm2Front: 196.14575555555555. Wm2Back: 20.81255
+</pre>
+</div>
+</div>
+
+<div class="jp-OutputArea-child">
+
+    
+    <div class="jp-OutputPrompt jp-OutputArea-prompt">Out[13]:</div>
+
+
+
+
+<div class="jp-RenderedText jp-OutputArea-output jp-OutputArea-executeResult" data-mime-type="text/plain">
+<pre>{&#39;2021-11-06_1100&#39;: {&#39;surf_azm&#39;: 90.0,
+  &#39;surf_tilt&#39;: 32.06,
+  &#39;theta&#39;: -32.06,
+  &#39;ghi&#39;: 303,
+  &#39;dhi&#39;: 191,
+  &#39;temp_air&#39;: 19.4,
+  &#39;wind_speed&#39;: 7.2,
+  &#39;skyfile&#39;: &#39;skies\\sky2_37.5_-77.33_2021-11-06_1100.rad&#39;,
+  &#39;clearance_height&#39;: 0.9691929526002403,
+  &#39;radfile&#39;: &#39;objects\\1axis2021-11-06_1100__C_0.96919_rtr_6.00000_tilt_32.06000_20modsx7rows_origin0,0.rad&#39;,
+  &#39;scene&#39;: {&#39;module&#39;: {&#39;x&#39;: 1, &#39;y&#39;: 2, &#39;z&#39;: 0.02, &#39;modulematerial&#39;: &#39;black&#39;, &#39;scenex&#39;: 1.01, &#39;sceney&#39;: 2.0, &#39;scenez&#39;: 0.225, &#39;numpanels&#39;: 1, &#39;bifi&#39;: 1, &#39;text&#39;: &#39;! genbox black test-module 1 2 0.02 | xform -t -0.5 -1.0 0 -a 1 -t 0 2.0 0\r\n! genrev black tube1 t*1.01 0.075 32 | xform -ry 90 -t -0.505 0 -0.22499999999999998&#39;, &#39;modulefile&#39;: &#39;objects\\test-module.rad&#39;, &#39;glass&#39;: False, &#39;offsetfromaxis&#39;: 0, &#39;xgap&#39;: 0.01, &#39;ygap&#39;: 0.0, &#39;zgap&#39;: 0.15}, &#39;modulefile&#39;: &#39;objects\\test-module.rad&#39;, &#39;hpc&#39;: False, &#39;gcr&#39;: 0.3333333333333333, &#39;text&#39;: &#39;!xform -rx 32.06 -t 0 0 1.5 -a 20 -t 1.01 0 0 -a 7 -t 0 6 0 -i 1 -t -9.09 -18.0 0 -rz 90.0 -t 0 0 0 objects\\test-module.rad&#39;, &#39;radfiles&#39;: &#39;objects\\1axis2021-11-06_1100__C_0.96919_rtr_6.00000_tilt_32.06000_20modsx7rows_origin0,0.rad&#39;, &#39;sceneDict&#39;: {&#39;tilt&#39;: 32.06, &#39;pitch&#39;: 6, &#39;clearance_height&#39;: 0.9691929526002403, &#39;azimuth&#39;: 90.0, &#39;nMods&#39;: 20, &#39;nRows&#39;: 7, &#39;modulez&#39;: 0.02, &#39;axis_tilt&#39;: 0, &#39;originx&#39;: 0, &#39;originy&#39;: 0}},
+  &#39;octfile&#39;: &#39;1axis_2021-11-06_1100.oct&#39;,
+  &#39;Results&#39;: [{&#39;rowWanted&#39;: 4,
+    &#39;modWanted&#39;: 1,
+    &#39;AnalysisObj&#39;: {&#39;octfile&#39;: &#39;1axis_2021-11-06_1100.oct&#39;, &#39;name&#39;: &#39;1axis_2021-11-06_1100&#39;, &#39;hpc&#39;: False, &#39;modWanted&#39;: 1, &#39;rowWanted&#39;: 4, &#39;x&#39;: [0.6891411, 0.5196426, 0.350144, 0.1806455, 0.01114695, -0.1583516, -0.3278501, -0.4973487, -0.6668472], &#39;y&#39;: [-9.09, -9.09, -9.09, -9.09, -9.09, -9.09, -9.09, -9.09, -9.09], &#39;z&#39;: [1.093152, 1.199313, 1.305475, 1.411636, 1.517797, 1.623959, 1.73012, 1.836282, 1.942443], &#39;rearZ&#39;: [1.074507, 1.180668, 1.28683, 1.392991, 1.499153, 1.605314, 1.711475, 1.817637, 1.923798], &#39;mattype&#39;: [&#39;a0.3.a0.test-module.6457&#39;, &#39;a0.3.a0.test-module.6457&#39;, &#39;a0.3.a0.test-module.6457&#39;, &#39;a0.3.a0.test-module.6457&#39;, &#39;a0.3.a0.test-module.6457&#39;, &#39;a0.3.a0.test-module.6457&#39;, &#39;a0.3.a0.test-module.6457&#39;, &#39;a0.3.a0.test-module.6457&#39;, &#39;a0.3.a0.test-module.6457&#39;], &#39;rearMat&#39;: [&#39;a0.3.a0.test-module.2310&#39;, &#39;a0.3.a0.test-module.2310&#39;, &#39;a0.3.a0.test-module.2310&#39;, &#39;a0.3.a0.test-module.2310&#39;, &#39;a0.3.a0.test-module.2310&#39;, &#39;a0.3.a0.test-module.2310&#39;, &#39;a0.3.a0.test-module.2310&#39;, &#39;a0.3.a0.test-module.2310&#39;, &#39;a0.3.a0.test-module.2310&#39;], &#39;Wm2Front&#39;: [329.4024, 330.063, 330.7178, 331.4313, 331.9626, 332.4883, 332.956, 333.3254, 333.6895], &#39;Wm2Back&#39;: [53.66004, 53.25807, 50.33472, 46.89407, 39.76171, 47.047, 52.29441, 54.451519999999995, 55.26601], &#39;Back/FrontRatio&#39;: [0.16290068651386114, 0.16135679746958168, 0.1521979397603039, 0.14148913669548804, 0.1197773189590666, 0.1414992903531031, 0.15706055136248825, 0.16335795784552318, 0.16562056756185747], &#39;backRatio&#39;: [0.16290068651386114, 0.16135679746958168, 0.1521979397603039, 0.14148913669548804, 0.1197773189590666, 0.1414992903531031, 0.15706055136248825, 0.16335795784552318, 0.16562056756185747], &#39;rearX&#39;: [0.6774634, 0.5079648, 0.3384663, 0.1689677, -0.000530807, -0.1700293, -0.3395279, -0.5090264, -0.678525], &#39;rearY&#39;: [-9.09, -9.09, -9.09, -9.09, -9.09, -9.09, -9.09, -9.09, -9.09]},
+    &#39;Wm2Front&#39;: [329.4024,
+     330.063,
+     330.7178,
+     331.4313,
+     331.9626,
+     332.4883,
+     332.956,
+     333.3254,
+     333.6895],
+    &#39;Wm2Back&#39;: [53.66004,
+     53.25807,
+     50.33472,
+     46.89407,
+     39.76171,
+     47.047,
+     52.29441,
+     54.451519999999995,
+     55.26601],
+    &#39;backRatio&#39;: [0.16290068651386114,
+     0.16135679746958168,
+     0.1521979397603039,
+     0.14148913669548804,
+     0.1197773189590666,
+     0.1414992903531031,
+     0.15706055136248825,
+     0.16335795784552318,
+     0.16562056756185747]},
+   {&#39;rowWanted&#39;: 4,
+    &#39;modWanted&#39;: 10,
+    &#39;AnalysisObj&#39;: {&#39;octfile&#39;: &#39;1axis_2021-11-06_1100.oct&#39;, &#39;name&#39;: &#39;1axis_2021-11-06_1100&#39;, &#39;hpc&#39;: False, &#39;modWanted&#39;: 10, &#39;rowWanted&#39;: 4, &#39;x&#39;: [0.6891411, 0.5196426, 0.350144, 0.1806455, 0.01114695, -0.1583516, -0.3278501, -0.4973487, -0.6668472], &#39;y&#39;: [4.219772e-17, 3.181893e-17, 2.144014e-17, 1.106135e-17, 6.825537e-19, -9.696239e-18, -2.007503e-17, -3.045382e-17, -4.083262e-17], &#39;z&#39;: [1.093152, 1.199313, 1.305475, 1.411636, 1.517797, 1.623959, 1.73012, 1.836282, 1.942443], &#39;rearZ&#39;: [1.074507, 1.180668, 1.28683, 1.392991, 1.499153, 1.605314, 1.711475, 1.817637, 1.923798], &#39;mattype&#39;: [&#39;a9.3.a0.test-module.6457&#39;, &#39;a9.3.a0.test-module.6457&#39;, &#39;a9.3.a0.test-module.6457&#39;, &#39;a9.3.a0.test-module.6457&#39;, &#39;a9.3.a0.test-module.6457&#39;, &#39;a9.3.a0.test-module.6457&#39;, &#39;a9.3.a0.test-module.6457&#39;, &#39;a9.3.a0.test-module.6457&#39;, &#39;a9.3.a0.test-module.6457&#39;], &#39;rearMat&#39;: [&#39;a9.3.a0.test-module.2310&#39;, &#39;a9.3.a0.test-module.2310&#39;, &#39;a9.3.a0.test-module.2310&#39;, &#39;a9.3.a0.test-module.2310&#39;, &#39;a9.3.a0.test-module.2310&#39;, &#39;a9.3.a0.test-module.2310&#39;, &#39;a9.3.a0.test-module.2310&#39;, &#39;a9.3.a0.test-module.2310&#39;, &#39;a9.3.a0.test-module.2310&#39;], &#39;Wm2Front&#39;: [320.6834, 322.1972, 324.8159, 326.0225, 327.2239, 328.4253, 330.7861, 331.5897, 332.3885], &#39;Wm2Back&#39;: [35.49439, 31.588530000000002, 30.99199, 27.038930000000004, 29.25153, 31.265830000000005, 32.3871, 35.31319, 36.71111], &#39;Back/FrontRatio&#39;: [0.11068324495984215, 0.0980406780671028, 0.09541372385488564, 0.08293552458641787, 0.08939273875551647, 0.09519892286336389, 0.097909198998389, 0.10649632212242383, 0.11044605801326456], &#39;backRatio&#39;: [0.11068324495984215, 0.0980406780671028, 0.09541372385488564, 0.08293552458641787, 0.08939273875551647, 0.09519892286336389, 0.097909198998389, 0.10649632212242383, 0.11044605801326456], &#39;rearX&#39;: [0.6774634, 0.5079648, 0.3384663, 0.1689677, -0.000530807, -0.1700293, -0.3395279, -0.5090264, -0.678525], &#39;rearY&#39;: [4.148267e-17, 3.110387e-17, 2.072508e-17, 1.034629e-17, -3.250256e-20, -1.041129e-17, -2.079009e-17, -3.116888e-17, -4.154767e-17]},
+    &#39;Wm2Front&#39;: [320.6834,
+     322.1972,
+     324.8159,
+     326.0225,
+     327.2239,
+     328.4253,
+     330.7861,
+     331.5897,
+     332.3885],
+    &#39;Wm2Back&#39;: [35.49439,
+     31.588530000000002,
+     30.99199,
+     27.038930000000004,
+     29.25153,
+     31.265830000000005,
+     32.3871,
+     35.31319,
+     36.71111],
+    &#39;backRatio&#39;: [0.11068324495984215,
+     0.0980406780671028,
+     0.09541372385488564,
+     0.08293552458641787,
+     0.08939273875551647,
+     0.09519892286336389,
+     0.097909198998389,
+     0.10649632212242383,
+     0.11044605801326456]}],
+  &#39;POA_eff&#39;: 381.55870777777767,
+  &#39;Gfront_mean&#39;: 331.3180333333333,
+  &#39;Grear_mean&#39;: 50.24067444444444,
+  &#39;Pout_module&#39;: 151.6885103972844,
+  &#39;Mismatch&#39;: 0.09471267246686135,
+  &#39;Pout_module_reduced&#39;: 151.54484215526196},
+ &#39;2021-11-06_1200&#39;: {&#39;surf_azm&#39;: 90.0,
+  &#39;surf_tilt&#39;: 9.27,
+  &#39;theta&#39;: -9.27,
+  &#39;ghi&#39;: 200,
+  &#39;dhi&#39;: 197,
+  &#39;temp_air&#39;: 20.0,
+  &#39;wind_speed&#39;: 5.2,
+  &#39;skyfile&#39;: &#39;skies\\sky2_37.5_-77.33_2021-11-06_1200.rad&#39;,
+  &#39;clearance_height&#39;: 1.3389129174701335,
+  &#39;radfile&#39;: &#39;objects\\1axis2021-11-06_1200__C_1.33891_rtr_6.00000_tilt_9.27000_20modsx7rows_origin0,0.rad&#39;,
+  &#39;scene&#39;: {&#39;module&#39;: {&#39;x&#39;: 1, &#39;y&#39;: 2, &#39;z&#39;: 0.02, &#39;modulematerial&#39;: &#39;black&#39;, &#39;scenex&#39;: 1.01, &#39;sceney&#39;: 2.0, &#39;scenez&#39;: 0.225, &#39;numpanels&#39;: 1, &#39;bifi&#39;: 1, &#39;text&#39;: &#39;! genbox black test-module 1 2 0.02 | xform -t -0.5 -1.0 0 -a 1 -t 0 2.0 0\r\n! genrev black tube1 t*1.01 0.075 32 | xform -ry 90 -t -0.505 0 -0.22499999999999998&#39;, &#39;modulefile&#39;: &#39;objects\\test-module.rad&#39;, &#39;glass&#39;: False, &#39;offsetfromaxis&#39;: 0, &#39;xgap&#39;: 0.01, &#39;ygap&#39;: 0.0, &#39;zgap&#39;: 0.15}, &#39;modulefile&#39;: &#39;objects\\test-module.rad&#39;, &#39;hpc&#39;: False, &#39;gcr&#39;: 0.3333333333333333, &#39;text&#39;: &#39;!xform -rx 9.27 -t 0 0 1.5 -a 20 -t 1.01 0 0 -a 7 -t 0 6 0 -i 1 -t -9.09 -18.0 0 -rz 90.0 -t 0 0 0 objects\\test-module.rad&#39;, &#39;radfiles&#39;: &#39;objects\\1axis2021-11-06_1200__C_1.33891_rtr_6.00000_tilt_9.27000_20modsx7rows_origin0,0.rad&#39;, &#39;sceneDict&#39;: {&#39;tilt&#39;: 9.27, &#39;pitch&#39;: 6, &#39;clearance_height&#39;: 1.3389129174701335, &#39;azimuth&#39;: 90.0, &#39;nMods&#39;: 20, &#39;nRows&#39;: 7, &#39;modulez&#39;: 0.02, &#39;axis_tilt&#39;: 0, &#39;originx&#39;: 0, &#39;originy&#39;: 0}},
+  &#39;octfile&#39;: &#39;1axis_2021-11-06_1200.oct&#39;,
+  &#39;Results&#39;: [{&#39;rowWanted&#39;: 4,
+    &#39;modWanted&#39;: 1,
+    &#39;AnalysisObj&#39;: {&#39;octfile&#39;: &#39;1axis_2021-11-06_1200.oct&#39;, &#39;name&#39;: &#39;1axis_2021-11-06_1200&#39;, &#39;hpc&#39;: False, &#39;modWanted&#39;: 1, &#39;rowWanted&#39;: 4, &#39;x&#39;: [0.792935, 0.5955469, 0.3981589, 0.2007709, 0.003382829, -0.1940052, -0.3913932, -0.5887813, -0.7861693], &#39;y&#39;: [-9.09, -9.09, -9.09, -9.09, -9.09, -9.09, -9.09, -9.09, -9.09], &#39;z&#39;: [1.391856, 1.424073, 1.456291, 1.488508, 1.520726, 1.552943, 1.585161, 1.617378, 1.649595], &#39;rearZ&#39;: [1.370143, 1.402361, 1.434578, 1.466796, 1.499013, 1.53123, 1.563448, 1.595665, 1.627883], &#39;mattype&#39;: [&#39;a0.3.a0.test-module.6457&#39;, &#39;a0.3.a0.test-module.6457&#39;, &#39;a0.3.a0.test-module.6457&#39;, &#39;a0.3.a0.test-module.6457&#39;, &#39;a0.3.a0.test-module.6457&#39;, &#39;a0.3.a0.test-module.6457&#39;, &#39;a0.3.a0.test-module.6457&#39;, &#39;a0.3.a0.test-module.6457&#39;, &#39;a0.3.a0.test-module.6457&#39;], &#39;rearMat&#39;: [&#39;a0.3.a0.test-module.2310&#39;, &#39;a0.3.a0.test-module.2310&#39;, &#39;a0.3.a0.test-module.2310&#39;, &#39;a0.3.a0.test-module.2310&#39;, &#39;a0.3.a0.test-module.2310&#39;, &#39;a0.3.a0.test-module.2310&#39;, &#39;a0.3.a0.test-module.2310&#39;, &#39;a0.3.a0.test-module.2310&#39;, &#39;a0.3.a0.test-module.2310&#39;], &#39;Wm2Front&#39;: [196.2314, 196.2578, 196.2825, 196.3071, 196.33180000000002, 196.51650000000004, 196.5325, 196.54730000000004, 196.562], &#39;Wm2Back&#39;: [30.06039, 29.61515, 27.37249, 23.904029999999995, 21.36608, 24.88538, 27.90442, 29.601610000000004, 30.308759999999996], &#39;Back/FrontRatio&#39;: [0.15318769989053796, 0.1508984565278092, 0.13945385118973322, 0.12176792501175446, 0.10882583042670403, 0.1266318775681555, 0.14198302070639354, 0.15060730619394824, 0.15419361731353304], &#39;backRatio&#39;: [0.15318769989053796, 0.1508984565278092, 0.13945385118973322, 0.12176792501175446, 0.10882583042670403, 0.1266318775681555, 0.14198302070639354, 0.15060730619394824, 0.15419361731353304], &#39;rearX&#39;: [0.7893911, 0.592003, 0.394615, 0.197227, -0.0001610871, -0.1975491, -0.3949372, -0.5923252, -0.7897132], &#39;rearY&#39;: [-9.09, -9.09, -9.09, -9.09, -9.09, -9.09, -9.09, -9.09, -9.09]},
+    &#39;Wm2Front&#39;: [196.2314,
+     196.2578,
+     196.2825,
+     196.3071,
+     196.33180000000002,
+     196.51650000000004,
+     196.5325,
+     196.54730000000004,
+     196.562],
+    &#39;Wm2Back&#39;: [30.06039,
+     29.61515,
+     27.37249,
+     23.904029999999995,
+     21.36608,
+     24.88538,
+     27.90442,
+     29.601610000000004,
+     30.308759999999996],
+    &#39;backRatio&#39;: [0.15318769989053796,
+     0.1508984565278092,
+     0.13945385118973322,
+     0.12176792501175446,
+     0.10882583042670403,
+     0.1266318775681555,
+     0.14198302070639354,
+     0.15060730619394824,
+     0.15419361731353304]},
+   {&#39;rowWanted&#39;: 4,
+    &#39;modWanted&#39;: 10,
+    &#39;AnalysisObj&#39;: {&#39;octfile&#39;: &#39;1axis_2021-11-06_1200.oct&#39;, &#39;name&#39;: &#39;1axis_2021-11-06_1200&#39;, &#39;hpc&#39;: False, &#39;modWanted&#39;: 10, &#39;rowWanted&#39;: 4, &#39;x&#39;: [0.792935, 0.5955469, 0.3981589, 0.2007709, 0.003382829, -0.1940052, -0.3913932, -0.5887813, -0.7861693], &#39;y&#39;: [4.855326e-17, 3.646673e-17, 2.43802e-17, 1.229367e-17, 2.071385e-19, -1.187939e-17, -2.396592e-17, -3.605246e-17, -4.813899e-17], &#39;z&#39;: [1.391856, 1.424073, 1.456291, 1.488508, 1.520726, 1.552943, 1.585161, 1.617378, 1.649595], &#39;rearZ&#39;: [1.370143, 1.402361, 1.434578, 1.466796, 1.499013, 1.53123, 1.563448, 1.595665, 1.627883], &#39;mattype&#39;: [&#39;a9.3.a0.test-module.6457&#39;, &#39;a9.3.a0.test-module.6457&#39;, &#39;a9.3.a0.test-module.6457&#39;, &#39;a9.3.a0.test-module.6457&#39;, &#39;a9.3.a0.test-module.6457&#39;, &#39;a9.3.a0.test-module.6457&#39;, &#39;a9.3.a0.test-module.6457&#39;, &#39;a9.3.a0.test-module.6457&#39;, &#39;a9.3.a0.test-module.6457&#39;], &#39;rearMat&#39;: [&#39;a9.3.a0.test-module.2310&#39;, &#39;a9.3.a0.test-module.2310&#39;, &#39;a9.3.a0.test-module.2310&#39;, &#39;a9.3.a0.test-module.2310&#39;, &#39;a9.3.a0.test-module.2310&#39;, &#39;a9.3.a0.test-module.2310&#39;, &#39;a9.3.a0.test-module.2310&#39;, &#39;a9.3.a0.test-module.2310&#39;, &#39;a9.3.a0.test-module.2310&#39;], &#39;Wm2Front&#39;: [195.8279, 195.8738, 195.91819999999998, 195.9625, 196.0069, 196.41600000000003, 196.4265, 196.43549999999996, 196.44449999999998], &#39;Wm2Back&#39;: [23.1082, 22.36778, 20.31616, 17.52798, 17.31194, 19.41407, 21.11763, 22.680310000000002, 23.46888], &#39;Back/FrontRatio&#39;: [0.11800199051314693, 0.1141942710343546, 0.10369662595600636, 0.08944512626075773, 0.08832266454566372, 0.09884108809318946, 0.10750852095556883, 0.1154587360292003, 0.1194676386071455], &#39;backRatio&#39;: [0.11800199051314693, 0.1141942710343546, 0.10369662595600636, 0.08944512626075773, 0.08832266454566372, 0.09884108809318946, 0.10750852095556883, 0.1154587360292003, 0.1194676386071455], &#39;rearX&#39;: [0.7893911, 0.592003, 0.394615, 0.197227, -0.0001610871, -0.1975491, -0.3949372, -0.5923252, -0.7897132], &#39;rearY&#39;: [4.833626e-17, 3.624973e-17, 2.41632e-17, 1.207667e-17, -9.863739e-21, -1.20964e-17, -2.418293e-17, -3.626946e-17, -4.835599e-17]},
+    &#39;Wm2Front&#39;: [195.8279,
+     195.8738,
+     195.91819999999998,
+     195.9625,
+     196.0069,
+     196.41600000000003,
+     196.4265,
+     196.43549999999996,
+     196.44449999999998],
+    &#39;Wm2Back&#39;: [23.1082,
+     22.36778,
+     20.31616,
+     17.52798,
+     17.31194,
+     19.41407,
+     21.11763,
+     22.680310000000002,
+     23.46888],
+    &#39;backRatio&#39;: [0.11800199051314693,
+     0.1141942710343546,
+     0.10369662595600636,
+     0.08944512626075773,
+     0.08832266454566372,
+     0.09884108809318946,
+     0.10750852095556883,
+     0.1154587360292003,
+     0.1194676386071455]}],
+  &#39;POA_eff&#39;: 223.80796666666666,
+  &#39;Gfront_mean&#39;: 196.59861111111113,
+  &#39;Grear_mean&#39;: 27.209355555555558,
+  &#39;Pout_module&#39;: 88.47563285407567,
+  &#39;Mismatch&#39;: 0.220248521020352,
+  &#39;Pout_module_reduced&#39;: 88.28076658125117}}</pre>
+</div>
+
+</div>
+
+</div>
+
+</div>
+
+</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell   ">
+<div class="jp-Cell-inputWrapper">
+<div class="jp-InputArea jp-Cell-inputArea">
+<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[17]:</div>
+<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
+     <div class="CodeMirror cm-s-jupyter">
+<div class=" highlight hl-ipython3"><pre><span></span><span class="n">demo</span><span class="o">.</span><span class="n">calculateResults</span><span class="p">()</span>
+</pre></div>
+
+     </div>
+</div>
+</div>
+</div>
+
+<div class="jp-Cell-outputWrapper">
+
+
+<div class="jp-OutputArea jp-Cell-outputArea">
+
+<div class="jp-OutputArea-child">
+
+    
+    <div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
+
+
+<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="text/plain">
+<pre>No CECModule data passed; using default for Prism Solar BHC72-400
+Bifaciality factor of module stored is  1
+</pre>
+</div>
+</div>
+
+<div class="jp-OutputArea-child">
+
+    
+    <div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
+
+
+<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="application/vnd.jupyter.stderr">
+<pre>c:\users\sayala\documents\github\bifacial_radiance\bifacial_radiance\mismatch.py:220: FutureWarning: outer method for ufunc &lt;ufunc &#39;subtract&#39;&gt; is not implemented on pandas objects. Returning an ndarray, but in the future this will raise a &#39;NotImplementedError&#39;. Consider explicitly converting the DataFrame to an array with &#39;.to_numpy()&#39; first.
+  return (np.abs(np.subtract.outer(data,data)).sum()/float(data.__len__())**2 / np.mean(data))*100
+</pre>
+</div>
+</div>
+
+<div class="jp-OutputArea-child">
+
+    
+    <div class="jp-OutputPrompt jp-OutputArea-prompt">Out[17]:</div>
+
+
+
+
+<div class="jp-RenderedText jp-OutputArea-output jp-OutputArea-executeResult" data-mime-type="text/plain">
+<pre>{&#39;2021-11-06_1100&#39;: {&#39;surf_azm&#39;: 90.0,
+  &#39;surf_tilt&#39;: 32.06,
+  &#39;theta&#39;: -32.06,
+  &#39;ghi&#39;: 303,
+  &#39;dhi&#39;: 191,
+  &#39;temp_air&#39;: 19.4,
+  &#39;wind_speed&#39;: 7.2,
+  &#39;skyfile&#39;: &#39;skies\\sky2_37.5_-77.33_2021-11-06_1100.rad&#39;,
+  &#39;clearance_height&#39;: 0.9691929526002403,
+  &#39;radfile&#39;: &#39;objects\\1axis2021-11-06_1100__C_0.96919_rtr_6.00000_tilt_32.06000_20modsx7rows_origin0,0.rad&#39;,
+  &#39;scene&#39;: {&#39;module&#39;: {&#39;x&#39;: 1, &#39;y&#39;: 2, &#39;z&#39;: 0.02, &#39;modulematerial&#39;: &#39;black&#39;, &#39;scenex&#39;: 1.01, &#39;sceney&#39;: 2.0, &#39;scenez&#39;: 0.225, &#39;numpanels&#39;: 1, &#39;bifi&#39;: 1, &#39;text&#39;: &#39;! genbox black test-module 1 2 0.02 | xform -t -0.5 -1.0 0 -a 1 -t 0 2.0 0\r\n! genrev black tube1 t*1.01 0.075 32 | xform -ry 90 -t -0.505 0 -0.22499999999999998&#39;, &#39;modulefile&#39;: &#39;objects\\test-module.rad&#39;, &#39;glass&#39;: False, &#39;offsetfromaxis&#39;: 0, &#39;xgap&#39;: 0.01, &#39;ygap&#39;: 0.0, &#39;zgap&#39;: 0.15}, &#39;modulefile&#39;: &#39;objects\\test-module.rad&#39;, &#39;hpc&#39;: False, &#39;gcr&#39;: 0.3333333333333333, &#39;text&#39;: &#39;!xform -rx 32.06 -t 0 0 1.5 -a 20 -t 1.01 0 0 -a 7 -t 0 6 0 -i 1 -t -9.09 -18.0 0 -rz 90.0 -t 0 0 0 objects\\test-module.rad&#39;, &#39;radfiles&#39;: &#39;objects\\1axis2021-11-06_1100__C_0.96919_rtr_6.00000_tilt_32.06000_20modsx7rows_origin0,0.rad&#39;, &#39;sceneDict&#39;: {&#39;tilt&#39;: 32.06, &#39;pitch&#39;: 6, &#39;clearance_height&#39;: 0.9691929526002403, &#39;azimuth&#39;: 90.0, &#39;nMods&#39;: 20, &#39;nRows&#39;: 7, &#39;modulez&#39;: 0.02, &#39;axis_tilt&#39;: 0, &#39;originx&#39;: 0, &#39;originy&#39;: 0}},
+  &#39;octfile&#39;: &#39;1axis_2021-11-06_1100.oct&#39;,
+  &#39;Results&#39;: [{&#39;rowWanted&#39;: 4,
+    &#39;modWanted&#39;: 1,
+    &#39;AnalysisObj&#39;: {&#39;octfile&#39;: &#39;1axis_2021-11-06_1100.oct&#39;, &#39;name&#39;: &#39;1axis_2021-11-06_1100&#39;, &#39;hpc&#39;: False, &#39;modWanted&#39;: 1, &#39;rowWanted&#39;: 4, &#39;x&#39;: [0.6891411, 0.5196426, 0.350144, 0.1806455, 0.01114695, -0.1583516, -0.3278501, -0.4973487, -0.6668472], &#39;y&#39;: [-9.09, -9.09, -9.09, -9.09, -9.09, -9.09, -9.09, -9.09, -9.09], &#39;z&#39;: [1.093152, 1.199313, 1.305475, 1.411636, 1.517797, 1.623959, 1.73012, 1.836282, 1.942443], &#39;rearZ&#39;: [1.074507, 1.180668, 1.28683, 1.392991, 1.499153, 1.605314, 1.711475, 1.817637, 1.923798], &#39;mattype&#39;: [&#39;a0.3.a0.test-module.6457&#39;, &#39;a0.3.a0.test-module.6457&#39;, &#39;a0.3.a0.test-module.6457&#39;, &#39;a0.3.a0.test-module.6457&#39;, &#39;a0.3.a0.test-module.6457&#39;, &#39;a0.3.a0.test-module.6457&#39;, &#39;a0.3.a0.test-module.6457&#39;, &#39;a0.3.a0.test-module.6457&#39;, &#39;a0.3.a0.test-module.6457&#39;], &#39;rearMat&#39;: [&#39;a0.3.a0.test-module.2310&#39;, &#39;a0.3.a0.test-module.2310&#39;, &#39;a0.3.a0.test-module.2310&#39;, &#39;a0.3.a0.test-module.2310&#39;, &#39;a0.3.a0.test-module.2310&#39;, &#39;a0.3.a0.test-module.2310&#39;, &#39;a0.3.a0.test-module.2310&#39;, &#39;a0.3.a0.test-module.2310&#39;, &#39;a0.3.a0.test-module.2310&#39;], &#39;Wm2Front&#39;: [329.4024, 330.063, 330.7178, 331.4313, 331.9626, 332.4883, 332.956, 333.3254, 333.6895], &#39;Wm2Back&#39;: [53.66004, 53.25807, 50.33472, 46.89407, 39.76171, 47.047, 52.29441, 54.451519999999995, 55.26601], &#39;Back/FrontRatio&#39;: [0.16290068651386114, 0.16135679746958168, 0.1521979397603039, 0.14148913669548804, 0.1197773189590666, 0.1414992903531031, 0.15706055136248825, 0.16335795784552318, 0.16562056756185747], &#39;backRatio&#39;: [0.16290068651386114, 0.16135679746958168, 0.1521979397603039, 0.14148913669548804, 0.1197773189590666, 0.1414992903531031, 0.15706055136248825, 0.16335795784552318, 0.16562056756185747], &#39;rearX&#39;: [0.6774634, 0.5079648, 0.3384663, 0.1689677, -0.000530807, -0.1700293, -0.3395279, -0.5090264, -0.678525], &#39;rearY&#39;: [-9.09, -9.09, -9.09, -9.09, -9.09, -9.09, -9.09, -9.09, -9.09]},
+    &#39;Wm2Front&#39;: [329.4024,
+     330.063,
+     330.7178,
+     331.4313,
+     331.9626,
+     332.4883,
+     332.956,
+     333.3254,
+     333.6895],
+    &#39;Wm2Back&#39;: [53.66004,
+     53.25807,
+     50.33472,
+     46.89407,
+     39.76171,
+     47.047,
+     52.29441,
+     54.451519999999995,
+     55.26601],
+    &#39;backRatio&#39;: [0.16290068651386114,
+     0.16135679746958168,
+     0.1521979397603039,
+     0.14148913669548804,
+     0.1197773189590666,
+     0.1414992903531031,
+     0.15706055136248825,
+     0.16335795784552318,
+     0.16562056756185747]},
+   {&#39;rowWanted&#39;: 4,
+    &#39;modWanted&#39;: 10,
+    &#39;AnalysisObj&#39;: {&#39;octfile&#39;: &#39;1axis_2021-11-06_1100.oct&#39;, &#39;name&#39;: &#39;1axis_2021-11-06_1100&#39;, &#39;hpc&#39;: False, &#39;modWanted&#39;: 10, &#39;rowWanted&#39;: 4, &#39;x&#39;: [0.6891411, 0.5196426, 0.350144, 0.1806455, 0.01114695, -0.1583516, -0.3278501, -0.4973487, -0.6668472], &#39;y&#39;: [4.219772e-17, 3.181893e-17, 2.144014e-17, 1.106135e-17, 6.825537e-19, -9.696239e-18, -2.007503e-17, -3.045382e-17, -4.083262e-17], &#39;z&#39;: [1.093152, 1.199313, 1.305475, 1.411636, 1.517797, 1.623959, 1.73012, 1.836282, 1.942443], &#39;rearZ&#39;: [1.074507, 1.180668, 1.28683, 1.392991, 1.499153, 1.605314, 1.711475, 1.817637, 1.923798], &#39;mattype&#39;: [&#39;a9.3.a0.test-module.6457&#39;, &#39;a9.3.a0.test-module.6457&#39;, &#39;a9.3.a0.test-module.6457&#39;, &#39;a9.3.a0.test-module.6457&#39;, &#39;a9.3.a0.test-module.6457&#39;, &#39;a9.3.a0.test-module.6457&#39;, &#39;a9.3.a0.test-module.6457&#39;, &#39;a9.3.a0.test-module.6457&#39;, &#39;a9.3.a0.test-module.6457&#39;], &#39;rearMat&#39;: [&#39;a9.3.a0.test-module.2310&#39;, &#39;a9.3.a0.test-module.2310&#39;, &#39;a9.3.a0.test-module.2310&#39;, &#39;a9.3.a0.test-module.2310&#39;, &#39;a9.3.a0.test-module.2310&#39;, &#39;a9.3.a0.test-module.2310&#39;, &#39;a9.3.a0.test-module.2310&#39;, &#39;a9.3.a0.test-module.2310&#39;, &#39;a9.3.a0.test-module.2310&#39;], &#39;Wm2Front&#39;: [320.6834, 322.1972, 324.8159, 326.0225, 327.2239, 328.4253, 330.7861, 331.5897, 332.3885], &#39;Wm2Back&#39;: [35.49439, 31.588530000000002, 30.99199, 27.038930000000004, 29.25153, 31.265830000000005, 32.3871, 35.31319, 36.71111], &#39;Back/FrontRatio&#39;: [0.11068324495984215, 0.0980406780671028, 0.09541372385488564, 0.08293552458641787, 0.08939273875551647, 0.09519892286336389, 0.097909198998389, 0.10649632212242383, 0.11044605801326456], &#39;backRatio&#39;: [0.11068324495984215, 0.0980406780671028, 0.09541372385488564, 0.08293552458641787, 0.08939273875551647, 0.09519892286336389, 0.097909198998389, 0.10649632212242383, 0.11044605801326456], &#39;rearX&#39;: [0.6774634, 0.5079648, 0.3384663, 0.1689677, -0.000530807, -0.1700293, -0.3395279, -0.5090264, -0.678525], &#39;rearY&#39;: [4.148267e-17, 3.110387e-17, 2.072508e-17, 1.034629e-17, -3.250256e-20, -1.041129e-17, -2.079009e-17, -3.116888e-17, -4.154767e-17]},
+    &#39;Wm2Front&#39;: [320.6834,
+     322.1972,
+     324.8159,
+     326.0225,
+     327.2239,
+     328.4253,
+     330.7861,
+     331.5897,
+     332.3885],
+    &#39;Wm2Back&#39;: [35.49439,
+     31.588530000000002,
+     30.99199,
+     27.038930000000004,
+     29.25153,
+     31.265830000000005,
+     32.3871,
+     35.31319,
+     36.71111],
+    &#39;backRatio&#39;: [0.11068324495984215,
+     0.0980406780671028,
+     0.09541372385488564,
+     0.08293552458641787,
+     0.08939273875551647,
+     0.09519892286336389,
+     0.097909198998389,
+     0.10649632212242383,
+     0.11044605801326456]}],
+  &#39;POA_eff&#39;: 382.11153888888896,
+  &#39;Gfront_mean&#39;: 331.78181111111115,
+  &#39;Grear_mean&#39;: 50.32972777777778,
+  &#39;Pout_module&#39;: 151.90600970602503,
+  &#39;Mismatch&#39;: 0.008953855511449052,
+  &#39;Pout_module_reduced&#39;: 151.89240826140275},
+ &#39;2021-11-06_1200&#39;: {&#39;surf_azm&#39;: 90.0,
+  &#39;surf_tilt&#39;: 9.27,
+  &#39;theta&#39;: -9.27,
+  &#39;ghi&#39;: 200,
+  &#39;dhi&#39;: 197,
+  &#39;temp_air&#39;: 20.0,
+  &#39;wind_speed&#39;: 5.2,
+  &#39;skyfile&#39;: &#39;skies\\sky2_37.5_-77.33_2021-11-06_1200.rad&#39;,
+  &#39;clearance_height&#39;: 1.3389129174701335,
+  &#39;radfile&#39;: &#39;objects\\1axis2021-11-06_1200__C_1.33891_rtr_6.00000_tilt_9.27000_20modsx7rows_origin0,0.rad&#39;,
+  &#39;scene&#39;: {&#39;module&#39;: {&#39;x&#39;: 1, &#39;y&#39;: 2, &#39;z&#39;: 0.02, &#39;modulematerial&#39;: &#39;black&#39;, &#39;scenex&#39;: 1.01, &#39;sceney&#39;: 2.0, &#39;scenez&#39;: 0.225, &#39;numpanels&#39;: 1, &#39;bifi&#39;: 1, &#39;text&#39;: &#39;! genbox black test-module 1 2 0.02 | xform -t -0.5 -1.0 0 -a 1 -t 0 2.0 0\r\n! genrev black tube1 t*1.01 0.075 32 | xform -ry 90 -t -0.505 0 -0.22499999999999998&#39;, &#39;modulefile&#39;: &#39;objects\\test-module.rad&#39;, &#39;glass&#39;: False, &#39;offsetfromaxis&#39;: 0, &#39;xgap&#39;: 0.01, &#39;ygap&#39;: 0.0, &#39;zgap&#39;: 0.15}, &#39;modulefile&#39;: &#39;objects\\test-module.rad&#39;, &#39;hpc&#39;: False, &#39;gcr&#39;: 0.3333333333333333, &#39;text&#39;: &#39;!xform -rx 9.27 -t 0 0 1.5 -a 20 -t 1.01 0 0 -a 7 -t 0 6 0 -i 1 -t -9.09 -18.0 0 -rz 90.0 -t 0 0 0 objects\\test-module.rad&#39;, &#39;radfiles&#39;: &#39;objects\\1axis2021-11-06_1200__C_1.33891_rtr_6.00000_tilt_9.27000_20modsx7rows_origin0,0.rad&#39;, &#39;sceneDict&#39;: {&#39;tilt&#39;: 9.27, &#39;pitch&#39;: 6, &#39;clearance_height&#39;: 1.3389129174701335, &#39;azimuth&#39;: 90.0, &#39;nMods&#39;: 20, &#39;nRows&#39;: 7, &#39;modulez&#39;: 0.02, &#39;axis_tilt&#39;: 0, &#39;originx&#39;: 0, &#39;originy&#39;: 0}},
+  &#39;octfile&#39;: &#39;1axis_2021-11-06_1200.oct&#39;,
+  &#39;Results&#39;: [{&#39;rowWanted&#39;: 4,
+    &#39;modWanted&#39;: 1,
+    &#39;AnalysisObj&#39;: {&#39;octfile&#39;: &#39;1axis_2021-11-06_1200.oct&#39;, &#39;name&#39;: &#39;1axis_2021-11-06_1200&#39;, &#39;hpc&#39;: False, &#39;modWanted&#39;: 1, &#39;rowWanted&#39;: 4, &#39;x&#39;: [0.792935, 0.5955469, 0.3981589, 0.2007709, 0.003382829, -0.1940052, -0.3913932, -0.5887813, -0.7861693], &#39;y&#39;: [-9.09, -9.09, -9.09, -9.09, -9.09, -9.09, -9.09, -9.09, -9.09], &#39;z&#39;: [1.391856, 1.424073, 1.456291, 1.488508, 1.520726, 1.552943, 1.585161, 1.617378, 1.649595], &#39;rearZ&#39;: [1.370143, 1.402361, 1.434578, 1.466796, 1.499013, 1.53123, 1.563448, 1.595665, 1.627883], &#39;mattype&#39;: [&#39;a0.3.a0.test-module.6457&#39;, &#39;a0.3.a0.test-module.6457&#39;, &#39;a0.3.a0.test-module.6457&#39;, &#39;a0.3.a0.test-module.6457&#39;, &#39;a0.3.a0.test-module.6457&#39;, &#39;a0.3.a0.test-module.6457&#39;, &#39;a0.3.a0.test-module.6457&#39;, &#39;a0.3.a0.test-module.6457&#39;, &#39;a0.3.a0.test-module.6457&#39;], &#39;rearMat&#39;: [&#39;a0.3.a0.test-module.2310&#39;, &#39;a0.3.a0.test-module.2310&#39;, &#39;a0.3.a0.test-module.2310&#39;, &#39;a0.3.a0.test-module.2310&#39;, &#39;a0.3.a0.test-module.2310&#39;, &#39;a0.3.a0.test-module.2310&#39;, &#39;a0.3.a0.test-module.2310&#39;, &#39;a0.3.a0.test-module.2310&#39;, &#39;a0.3.a0.test-module.2310&#39;], &#39;Wm2Front&#39;: [196.2314, 196.2578, 196.2825, 196.3071, 196.33180000000002, 196.51650000000004, 196.5325, 196.54730000000004, 196.562], &#39;Wm2Back&#39;: [30.06039, 29.61515, 27.37249, 23.904029999999995, 21.36608, 24.88538, 27.90442, 29.601610000000004, 30.308759999999996], &#39;Back/FrontRatio&#39;: [0.15318769989053796, 0.1508984565278092, 0.13945385118973322, 0.12176792501175446, 0.10882583042670403, 0.1266318775681555, 0.14198302070639354, 0.15060730619394824, 0.15419361731353304], &#39;backRatio&#39;: [0.15318769989053796, 0.1508984565278092, 0.13945385118973322, 0.12176792501175446, 0.10882583042670403, 0.1266318775681555, 0.14198302070639354, 0.15060730619394824, 0.15419361731353304], &#39;rearX&#39;: [0.7893911, 0.592003, 0.394615, 0.197227, -0.0001610871, -0.1975491, -0.3949372, -0.5923252, -0.7897132], &#39;rearY&#39;: [-9.09, -9.09, -9.09, -9.09, -9.09, -9.09, -9.09, -9.09, -9.09]},
+    &#39;Wm2Front&#39;: [196.2314,
+     196.2578,
+     196.2825,
+     196.3071,
+     196.33180000000002,
+     196.51650000000004,
+     196.5325,
+     196.54730000000004,
+     196.562],
+    &#39;Wm2Back&#39;: [30.06039,
+     29.61515,
+     27.37249,
+     23.904029999999995,
+     21.36608,
+     24.88538,
+     27.90442,
+     29.601610000000004,
+     30.308759999999996],
+    &#39;backRatio&#39;: [0.15318769989053796,
+     0.1508984565278092,
+     0.13945385118973322,
+     0.12176792501175446,
+     0.10882583042670403,
+     0.1266318775681555,
+     0.14198302070639354,
+     0.15060730619394824,
+     0.15419361731353304]},
+   {&#39;rowWanted&#39;: 4,
+    &#39;modWanted&#39;: 10,
+    &#39;AnalysisObj&#39;: {&#39;octfile&#39;: &#39;1axis_2021-11-06_1200.oct&#39;, &#39;name&#39;: &#39;1axis_2021-11-06_1200&#39;, &#39;hpc&#39;: False, &#39;modWanted&#39;: 10, &#39;rowWanted&#39;: 4, &#39;x&#39;: [0.792935, 0.5955469, 0.3981589, 0.2007709, 0.003382829, -0.1940052, -0.3913932, -0.5887813, -0.7861693], &#39;y&#39;: [4.855326e-17, 3.646673e-17, 2.43802e-17, 1.229367e-17, 2.071385e-19, -1.187939e-17, -2.396592e-17, -3.605246e-17, -4.813899e-17], &#39;z&#39;: [1.391856, 1.424073, 1.456291, 1.488508, 1.520726, 1.552943, 1.585161, 1.617378, 1.649595], &#39;rearZ&#39;: [1.370143, 1.402361, 1.434578, 1.466796, 1.499013, 1.53123, 1.563448, 1.595665, 1.627883], &#39;mattype&#39;: [&#39;a9.3.a0.test-module.6457&#39;, &#39;a9.3.a0.test-module.6457&#39;, &#39;a9.3.a0.test-module.6457&#39;, &#39;a9.3.a0.test-module.6457&#39;, &#39;a9.3.a0.test-module.6457&#39;, &#39;a9.3.a0.test-module.6457&#39;, &#39;a9.3.a0.test-module.6457&#39;, &#39;a9.3.a0.test-module.6457&#39;, &#39;a9.3.a0.test-module.6457&#39;], &#39;rearMat&#39;: [&#39;a9.3.a0.test-module.2310&#39;, &#39;a9.3.a0.test-module.2310&#39;, &#39;a9.3.a0.test-module.2310&#39;, &#39;a9.3.a0.test-module.2310&#39;, &#39;a9.3.a0.test-module.2310&#39;, &#39;a9.3.a0.test-module.2310&#39;, &#39;a9.3.a0.test-module.2310&#39;, &#39;a9.3.a0.test-module.2310&#39;, &#39;a9.3.a0.test-module.2310&#39;], &#39;Wm2Front&#39;: [195.8279, 195.8738, 195.91819999999998, 195.9625, 196.0069, 196.41600000000003, 196.4265, 196.43549999999996, 196.44449999999998], &#39;Wm2Back&#39;: [23.1082, 22.36778, 20.31616, 17.52798, 17.31194, 19.41407, 21.11763, 22.680310000000002, 23.46888], &#39;Back/FrontRatio&#39;: [0.11800199051314693, 0.1141942710343546, 0.10369662595600636, 0.08944512626075773, 0.08832266454566372, 0.09884108809318946, 0.10750852095556883, 0.1154587360292003, 0.1194676386071455], &#39;backRatio&#39;: [0.11800199051314693, 0.1141942710343546, 0.10369662595600636, 0.08944512626075773, 0.08832266454566372, 0.09884108809318946, 0.10750852095556883, 0.1154587360292003, 0.1194676386071455], &#39;rearX&#39;: [0.7893911, 0.592003, 0.394615, 0.197227, -0.0001610871, -0.1975491, -0.3949372, -0.5923252, -0.7897132], &#39;rearY&#39;: [4.833626e-17, 3.624973e-17, 2.41632e-17, 1.207667e-17, -9.863739e-21, -1.20964e-17, -2.418293e-17, -3.626946e-17, -4.835599e-17]},
+    &#39;Wm2Front&#39;: [195.8279,
+     195.8738,
+     195.91819999999998,
+     195.9625,
+     196.0069,
+     196.41600000000003,
+     196.4265,
+     196.43549999999996,
+     196.44449999999998],
+    &#39;Wm2Back&#39;: [23.1082,
+     22.36778,
+     20.31616,
+     17.52798,
+     17.31194,
+     19.41407,
+     21.11763,
+     22.680310000000002,
+     23.46888],
+    &#39;backRatio&#39;: [0.11800199051314693,
+     0.1141942710343546,
+     0.10369662595600636,
+     0.08944512626075773,
+     0.08832266454566372,
+     0.09884108809318946,
+     0.10750852095556883,
+     0.1154587360292003,
+     0.1194676386071455]}],
+  &#39;POA_eff&#39;: 359.3527888888888,
+  &#39;Gfront_mean&#39;: 327.1258333333333,
+  &#39;Grear_mean&#39;: 32.226955555555556,
+  &#39;Pout_module&#39;: 142.93507816880157,
+  &#39;Mismatch&#39;: 0.009611756335197274,
+  &#39;Pout_module_reduced&#39;: 142.92133959737046}}</pre>
+</div>
+
+</div>
+
+</div>
+
+</div>
+
+</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell   ">
+<div class="jp-Cell-inputWrapper">
+<div class="jp-InputArea jp-Cell-inputArea">
+<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[16]:</div>
+<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
+     <div class="CodeMirror cm-s-jupyter">
+<div class=" highlight hl-ipython3"><pre><span></span><span class="n">demo</span><span class="o">.</span><span class="n">CompiledResults</span>
+</pre></div>
+
+     </div>
+</div>
+</div>
+</div>
+
+<div class="jp-Cell-outputWrapper">
+
+
+<div class="jp-OutputArea jp-Cell-outputArea">
+
+<div class="jp-OutputArea-child">
+
+    
+    <div class="jp-OutputPrompt jp-OutputArea-prompt">Out[16]:</div>
+
+
+
+<div class="jp-RenderedHTMLCommon jp-RenderedHTML jp-OutputArea-output jp-OutputArea-executeResult" data-mime-type="text/html">
+<div>
+<style scoped>
+    .dataframe tbody tr th:only-of-type {
+        vertical-align: middle;
+    }
+
+    .dataframe tbody tr th {
+        vertical-align: top;
+    }
+
+    .dataframe thead th {
+        text-align: right;
+    }
+</style>
+<table border="1" class="dataframe">
+  <thead>
+    <tr style="text-align: right;">
+      <th></th>
+      <th>timestamp</th>
+      <th>POA_eff</th>
+      <th>Grear_mean</th>
+      <th>Gfront_mean</th>
+      <th>Pout</th>
+      <th>Pout_Gfront</th>
+      <th>BGG</th>
+      <th>BGE</th>
+      <th>Mismatch</th>
+      <th>Pout_red</th>
+    </tr>
+  </thead>
+  <tbody>
+    <tr>
+      <th>0</th>
+      <td>2021-11-06_1100</td>
+      <td>382.111539</td>
+      <td>50.329728</td>
+      <td>331.781811</td>
+      <td>151.906010</td>
+      <td>132.023191</td>
+      <td>15.169526</td>
+      <td>15.060096</td>
+      <td>0.008954</td>
+      <td>151.892408</td>
+    </tr>
+    <tr>
+      <th>1</th>
+      <td>2021-11-06_1200</td>
+      <td>359.352789</td>
+      <td>32.226956</td>
+      <td>327.125833</td>
+      <td>142.935078</td>
+      <td>130.175843</td>
+      <td>9.851547</td>
+      <td>9.801538</td>
+      <td>0.009612</td>
+      <td>142.921340</td>
+    </tr>
+  </tbody>
+</table>
+</div>
+</div>
+
+</div>
+
+</div>
+
+</div>
+
+</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs  ">
+<div class="jp-Cell-inputWrapper">
+<div class="jp-InputArea jp-Cell-inputArea">
+<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[&nbsp;]:</div>
+<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
+     <div class="CodeMirror cm-s-jupyter">
+<div class=" highlight hl-ipython3"><pre><span></span> 
+</pre></div>
+
+     </div>
+</div>
+</div>
+</div>
+
+</div>
+</body>
+
+
+
+
+
+
+
+</html>
diff --git a/docs/tutorials/23 - Edge Effects with Hourly Tracking Dictionary.ipynb b/docs/tutorials/23 - Edge Effects with Hourly Tracking Dictionary.ipynb
new file mode 100644
index 00000000..7a129a09
--- /dev/null
+++ b/docs/tutorials/23 - Edge Effects with Hourly Tracking Dictionary.ipynb
@@ -0,0 +1,713 @@
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "<a id='step1'></a>"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# 23 - Edge Effects with Hourly Tracking Dictionary\n",
+    "\n",
+    "The tracker dictionary is the internal structure of bifacial_radiance to keep track of the multiple Angles or Hours that it's simulating, the rad files, scene, oct files and analysis. Before release v0.4.3, while you could run analysis various times to model different modules in the field and it would save your CSV irradiances, it only kep track of ONE analysis object (the one that was generated last). Given our new performance module calculation functionality, this was updated so that now it keeps track of every module/row analyzed. See example below.\n",
+    "\n",
+    "Here we model a central module and an edge module on the center row of an array, to evaluate edge effects."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 1,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Your simulation will be stored in C:\\Users\\sayala\\Documents\\GitHub\\bifacial_radiance\\bifacial_radiance\\TEMP\\Tutorial_23\n"
+     ]
+    }
+   ],
+   "source": [
+    "import os\n",
+    "from pathlib import Path\n",
+    "\n",
+    "testfolder = str(Path().resolve().parent.parent / 'bifacial_radiance' / 'TEMP' / 'Tutorial_23')\n",
+    "if not os.path.exists(testfolder):\n",
+    "    os.makedirs(testfolder)\n",
+    "        \n",
+    "print (\"Your simulation will be stored in %s\" % testfolder)\n"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 2,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "import bifacial_radiance\n",
+    "import numpy as np\n",
+    "import pprint   \n",
+    "import pandas as pd"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "<a id='step2'></a>"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 5,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "path = C:\\Users\\sayala\\Documents\\GitHub\\bifacial_radiance\\bifacial_radiance\\TEMP\\Tutorial_23\n",
+      "Loading albedo, 1 value(s), 0.200 avg\n",
+      "1 nonzero albedo values.\n",
+      "Getting weather file: USA_VA_Richmond.724010_TMY2.epw\n",
+      " ... OK!\n",
+      "8760 line in WeatherFile. Assuming this is a standard hourly WeatherFile for the year for purposes of saving Gencumulativesky temporary weather files in EPW folder.\n",
+      "Coercing year to 2021\n",
+      "Filtering dates\n",
+      "Saving file EPWs\\metdata_temp.csv, # points: 8760\n",
+      "Calculating Sun position for Metdata that is right-labeled  with a delta of -30 mins. i.e. 12 is 11:30 sunpos\n",
+      "\n",
+      "Module Name: test-module\n",
+      "Module test-module updated in module.json\n",
+      "Pre-existing .rad file objects\\test-module.rad will be overwritten\n",
+      "\n",
+      "Creating ~2 skyfiles. \n",
+      "Created 2 skyfiles in /skies/\n",
+      "\n",
+      "Making ~2 .rad files for gendaylit 1-axis workflow (this takes a minute..)\n",
+      "2 Radfiles created in /objects/\n",
+      "\n",
+      "Making 2 octfiles in root directory.\n",
+      "Created 1axis_2021-11-06_1100.oct\n",
+      "Created 1axis_2021-11-06_1200.oct\n"
+     ]
+    },
+    {
+     "data": {
+      "text/plain": [
+       "{'2021-11-06_1100': {'surf_azm': 90.0,\n",
+       "  'surf_tilt': 32.06,\n",
+       "  'theta': -32.06,\n",
+       "  'ghi': 303,\n",
+       "  'dhi': 191,\n",
+       "  'temp_air': 19.4,\n",
+       "  'wind_speed': 7.2,\n",
+       "  'skyfile': 'skies\\\\sky2_37.5_-77.33_2021-11-06_1100.rad',\n",
+       "  'clearance_height': 0.9691929526002403,\n",
+       "  'radfile': 'objects\\\\1axis2021-11-06_1100__C_0.96919_rtr_6.00000_tilt_32.06000_20modsx7rows_origin0,0.rad',\n",
+       "  'scene': {'module': {'x': 1, 'y': 2, 'z': 0.02, 'modulematerial': 'black', 'scenex': 1.01, 'sceney': 2.0, 'scenez': 0.225, 'numpanels': 1, 'bifi': 1, 'text': '! genbox black test-module 1 2 0.02 | xform -t -0.5 -1.0 0 -a 1 -t 0 2.0 0\\r\\n! genrev black tube1 t*1.01 0.075 32 | xform -ry 90 -t -0.505 0 -0.22499999999999998', 'modulefile': 'objects\\\\test-module.rad', 'glass': False, 'offsetfromaxis': 0, 'xgap': 0.01, 'ygap': 0.0, 'zgap': 0.15}, 'modulefile': 'objects\\\\test-module.rad', 'hpc': False, 'gcr': 0.3333333333333333, 'text': '!xform -rx 32.06 -t 0 0 1.5 -a 20 -t 1.01 0 0 -a 7 -t 0 6 0 -i 1 -t -9.09 -18.0 0 -rz 90.0 -t 0 0 0 objects\\\\test-module.rad', 'radfiles': 'objects\\\\1axis2021-11-06_1100__C_0.96919_rtr_6.00000_tilt_32.06000_20modsx7rows_origin0,0.rad', 'sceneDict': {'tilt': 32.06, 'pitch': 6, 'clearance_height': 0.9691929526002403, 'azimuth': 90.0, 'nMods': 20, 'nRows': 7, 'modulez': 0.02, 'axis_tilt': 0, 'originx': 0, 'originy': 0}},\n",
+       "  'octfile': '1axis_2021-11-06_1100.oct'},\n",
+       " '2021-11-06_1200': {'surf_azm': 90.0,\n",
+       "  'surf_tilt': 9.27,\n",
+       "  'theta': -9.27,\n",
+       "  'ghi': 200,\n",
+       "  'dhi': 197,\n",
+       "  'temp_air': 20.0,\n",
+       "  'wind_speed': 5.2,\n",
+       "  'skyfile': 'skies\\\\sky2_37.5_-77.33_2021-11-06_1200.rad',\n",
+       "  'clearance_height': 1.3389129174701335,\n",
+       "  'radfile': 'objects\\\\1axis2021-11-06_1200__C_1.33891_rtr_6.00000_tilt_9.27000_20modsx7rows_origin0,0.rad',\n",
+       "  'scene': {'module': {'x': 1, 'y': 2, 'z': 0.02, 'modulematerial': 'black', 'scenex': 1.01, 'sceney': 2.0, 'scenez': 0.225, 'numpanels': 1, 'bifi': 1, 'text': '! genbox black test-module 1 2 0.02 | xform -t -0.5 -1.0 0 -a 1 -t 0 2.0 0\\r\\n! genrev black tube1 t*1.01 0.075 32 | xform -ry 90 -t -0.505 0 -0.22499999999999998', 'modulefile': 'objects\\\\test-module.rad', 'glass': False, 'offsetfromaxis': 0, 'xgap': 0.01, 'ygap': 0.0, 'zgap': 0.15}, 'modulefile': 'objects\\\\test-module.rad', 'hpc': False, 'gcr': 0.3333333333333333, 'text': '!xform -rx 9.27 -t 0 0 1.5 -a 20 -t 1.01 0 0 -a 7 -t 0 6 0 -i 1 -t -9.09 -18.0 0 -rz 90.0 -t 0 0 0 objects\\\\test-module.rad', 'radfiles': 'objects\\\\1axis2021-11-06_1200__C_1.33891_rtr_6.00000_tilt_9.27000_20modsx7rows_origin0,0.rad', 'sceneDict': {'tilt': 9.27, 'pitch': 6, 'clearance_height': 1.3389129174701335, 'azimuth': 90.0, 'nMods': 20, 'nRows': 7, 'modulez': 0.02, 'axis_tilt': 0, 'originx': 0, 'originy': 0}},\n",
+       "  'octfile': '1axis_2021-11-06_1200.oct'}}"
+      ]
+     },
+     "execution_count": 5,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "import bifacial_radiance\n",
+    "import os \n",
+    "\n",
+    "simulationName = 'Tutorial 23'\n",
+    "moduletype = 'test-module'    \n",
+    "albedo = 0.2    \n",
+    "lat = 37.5   \n",
+    "lon = -77.6\n",
+    "\n",
+    "#makeModule parameters\n",
+    "modx=1\n",
+    "mody=2\n",
+    "xgap = 0.01\n",
+    "ygap = 0.0\n",
+    "zgap = 0.15\n",
+    "numpanels = 1\n",
+    "\n",
+    "# Scene variables\n",
+    "nMods = 20\n",
+    "nRows = 7\n",
+    "hub_height = 1.5 # meters\n",
+    "pitch = 6 # meters  \n",
+    "gcr = mody/pitch\n",
+    "\n",
+    "# Traking parameters\n",
+    "cumulativesky = False\n",
+    "limit_angle = 45 # degrees \n",
+    "angledelta = 0.01 # \n",
+    "backtrack = True \n",
+    "\n",
+    "\n",
+    "torquetube = True\n",
+    "# the Tracker rotates around the panels\n",
+    "tubeParams = {'diameter':0.15,\n",
+    "              'tubetype':'round',\n",
+    "              'material':'black',\n",
+    "              'axisofrotation':False}\n",
+    "\n",
+    "startdate = '11_06_11'     \n",
+    "enddate = '11_06_12'\n",
+    "demo = bifacial_radiance.RadianceObj(simulationName, path=testfolder)  \n",
+    "demo.setGround(albedo) \n",
+    "epwfile = demo.getEPW(lat,lon) \n",
+    "metdata = demo.readWeatherFile(epwfile, starttime=startdate, endtime=enddate)  \n",
+    "mymodule = bifacial_radiance.ModuleObj(name=moduletype, x=modx, y=mody, xgap=xgap, ygap=ygap,   \n",
+    "                zgap=zgap, numpanels=numpanels, tubeParams=tubeParams)\n",
+    "sceneDict = {'pitch':pitch,'hub_height':hub_height, 'nMods': nMods, 'nRows': nRows}  \n",
+    "demo.set1axis(limit_angle = limit_angle, backtrack = backtrack, gcr = gcr, cumulativesky = cumulativesky)\n",
+    "demo.gendaylit1axis()\n",
+    "demo.makeScene1axis(module=mymodule,sceneDict=sceneDict) #makeScene creates a .rad file with 20 modules per row, 7 rows.\n",
+    "demo.makeOct1axis()\n"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 7,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "dict_keys(['2021-11-06_1100', '2021-11-06_1200'])"
+      ]
+     },
+     "execution_count": 7,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "demo.trackerdict.keys()"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 13,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Linescan in process: 1axis_2021-11-06_1100_Row4_Module1_Front\n",
+      "Linescan in process: 1axis_2021-11-06_1100_Row4_Module1_Back\n",
+      "Saved: results\\irr_1axis_2021-11-06_1100_Row4_Module1.csv\n",
+      "Index: 2021-11-06_1100. Wm2Front: 331.78181111111115. Wm2Back: 50.32972777777778\n",
+      "Linescan in process: 1axis_2021-11-06_1100_Row4_Module10_Front\n",
+      "Linescan in process: 1axis_2021-11-06_1100_Row4_Module10_Back\n",
+      "Saved: results\\irr_1axis_2021-11-06_1100_Row4_Module10.csv\n",
+      "Index: 2021-11-06_1100. Wm2Front: 327.12583333333333. Wm2Back: 32.226955555555556\n",
+      "Linescan in process: 1axis_2021-11-06_1200_Row4_Module1_Front\n",
+      "Linescan in process: 1axis_2021-11-06_1200_Row4_Module1_Back\n",
+      "Saved: results\\irr_1axis_2021-11-06_1200_Row4_Module1.csv\n",
+      "Index: 2021-11-06_1200. Wm2Front: 196.39654444444446. Wm2Back: 27.224256666666665\n",
+      "Linescan in process: 1axis_2021-11-06_1200_Row4_Module10_Front\n",
+      "Linescan in process: 1axis_2021-11-06_1200_Row4_Module10_Back\n",
+      "Saved: results\\irr_1axis_2021-11-06_1200_Row4_Module10.csv\n",
+      "Index: 2021-11-06_1200. Wm2Front: 196.14575555555555. Wm2Back: 20.81255\n"
+     ]
+    },
+    {
+     "data": {
+      "text/plain": [
+       "{'2021-11-06_1100': {'surf_azm': 90.0,\n",
+       "  'surf_tilt': 32.06,\n",
+       "  'theta': -32.06,\n",
+       "  'ghi': 303,\n",
+       "  'dhi': 191,\n",
+       "  'temp_air': 19.4,\n",
+       "  'wind_speed': 7.2,\n",
+       "  'skyfile': 'skies\\\\sky2_37.5_-77.33_2021-11-06_1100.rad',\n",
+       "  'clearance_height': 0.9691929526002403,\n",
+       "  'radfile': 'objects\\\\1axis2021-11-06_1100__C_0.96919_rtr_6.00000_tilt_32.06000_20modsx7rows_origin0,0.rad',\n",
+       "  'scene': {'module': {'x': 1, 'y': 2, 'z': 0.02, 'modulematerial': 'black', 'scenex': 1.01, 'sceney': 2.0, 'scenez': 0.225, 'numpanels': 1, 'bifi': 1, 'text': '! genbox black test-module 1 2 0.02 | xform -t -0.5 -1.0 0 -a 1 -t 0 2.0 0\\r\\n! genrev black tube1 t*1.01 0.075 32 | xform -ry 90 -t -0.505 0 -0.22499999999999998', 'modulefile': 'objects\\\\test-module.rad', 'glass': False, 'offsetfromaxis': 0, 'xgap': 0.01, 'ygap': 0.0, 'zgap': 0.15}, 'modulefile': 'objects\\\\test-module.rad', 'hpc': False, 'gcr': 0.3333333333333333, 'text': '!xform -rx 32.06 -t 0 0 1.5 -a 20 -t 1.01 0 0 -a 7 -t 0 6 0 -i 1 -t -9.09 -18.0 0 -rz 90.0 -t 0 0 0 objects\\\\test-module.rad', 'radfiles': 'objects\\\\1axis2021-11-06_1100__C_0.96919_rtr_6.00000_tilt_32.06000_20modsx7rows_origin0,0.rad', 'sceneDict': {'tilt': 32.06, 'pitch': 6, 'clearance_height': 0.9691929526002403, 'azimuth': 90.0, 'nMods': 20, 'nRows': 7, 'modulez': 0.02, 'axis_tilt': 0, 'originx': 0, 'originy': 0}},\n",
+       "  'octfile': '1axis_2021-11-06_1100.oct',\n",
+       "  'Results': [{'rowWanted': 4,\n",
+       "    'modWanted': 1,\n",
+       "    'AnalysisObj': {'octfile': '1axis_2021-11-06_1100.oct', 'name': '1axis_2021-11-06_1100', 'hpc': False, 'modWanted': 1, 'rowWanted': 4, 'x': [0.6891411, 0.5196426, 0.350144, 0.1806455, 0.01114695, -0.1583516, -0.3278501, -0.4973487, -0.6668472], 'y': [-9.09, -9.09, -9.09, -9.09, -9.09, -9.09, -9.09, -9.09, -9.09], 'z': [1.093152, 1.199313, 1.305475, 1.411636, 1.517797, 1.623959, 1.73012, 1.836282, 1.942443], 'rearZ': [1.074507, 1.180668, 1.28683, 1.392991, 1.499153, 1.605314, 1.711475, 1.817637, 1.923798], 'mattype': ['a0.3.a0.test-module.6457', 'a0.3.a0.test-module.6457', 'a0.3.a0.test-module.6457', 'a0.3.a0.test-module.6457', 'a0.3.a0.test-module.6457', 'a0.3.a0.test-module.6457', 'a0.3.a0.test-module.6457', 'a0.3.a0.test-module.6457', 'a0.3.a0.test-module.6457'], 'rearMat': ['a0.3.a0.test-module.2310', 'a0.3.a0.test-module.2310', 'a0.3.a0.test-module.2310', 'a0.3.a0.test-module.2310', 'a0.3.a0.test-module.2310', 'a0.3.a0.test-module.2310', 'a0.3.a0.test-module.2310', 'a0.3.a0.test-module.2310', 'a0.3.a0.test-module.2310'], 'Wm2Front': [329.4024, 330.063, 330.7178, 331.4313, 331.9626, 332.4883, 332.956, 333.3254, 333.6895], 'Wm2Back': [53.66004, 53.25807, 50.33472, 46.89407, 39.76171, 47.047, 52.29441, 54.451519999999995, 55.26601], 'Back/FrontRatio': [0.16290068651386114, 0.16135679746958168, 0.1521979397603039, 0.14148913669548804, 0.1197773189590666, 0.1414992903531031, 0.15706055136248825, 0.16335795784552318, 0.16562056756185747], 'backRatio': [0.16290068651386114, 0.16135679746958168, 0.1521979397603039, 0.14148913669548804, 0.1197773189590666, 0.1414992903531031, 0.15706055136248825, 0.16335795784552318, 0.16562056756185747], 'rearX': [0.6774634, 0.5079648, 0.3384663, 0.1689677, -0.000530807, -0.1700293, -0.3395279, -0.5090264, -0.678525], 'rearY': [-9.09, -9.09, -9.09, -9.09, -9.09, -9.09, -9.09, -9.09, -9.09]},\n",
+       "    'Wm2Front': [329.4024,\n",
+       "     330.063,\n",
+       "     330.7178,\n",
+       "     331.4313,\n",
+       "     331.9626,\n",
+       "     332.4883,\n",
+       "     332.956,\n",
+       "     333.3254,\n",
+       "     333.6895],\n",
+       "    'Wm2Back': [53.66004,\n",
+       "     53.25807,\n",
+       "     50.33472,\n",
+       "     46.89407,\n",
+       "     39.76171,\n",
+       "     47.047,\n",
+       "     52.29441,\n",
+       "     54.451519999999995,\n",
+       "     55.26601],\n",
+       "    'backRatio': [0.16290068651386114,\n",
+       "     0.16135679746958168,\n",
+       "     0.1521979397603039,\n",
+       "     0.14148913669548804,\n",
+       "     0.1197773189590666,\n",
+       "     0.1414992903531031,\n",
+       "     0.15706055136248825,\n",
+       "     0.16335795784552318,\n",
+       "     0.16562056756185747]},\n",
+       "   {'rowWanted': 4,\n",
+       "    'modWanted': 10,\n",
+       "    'AnalysisObj': {'octfile': '1axis_2021-11-06_1100.oct', 'name': '1axis_2021-11-06_1100', 'hpc': False, 'modWanted': 10, 'rowWanted': 4, 'x': [0.6891411, 0.5196426, 0.350144, 0.1806455, 0.01114695, -0.1583516, -0.3278501, -0.4973487, -0.6668472], 'y': [4.219772e-17, 3.181893e-17, 2.144014e-17, 1.106135e-17, 6.825537e-19, -9.696239e-18, -2.007503e-17, -3.045382e-17, -4.083262e-17], 'z': [1.093152, 1.199313, 1.305475, 1.411636, 1.517797, 1.623959, 1.73012, 1.836282, 1.942443], 'rearZ': [1.074507, 1.180668, 1.28683, 1.392991, 1.499153, 1.605314, 1.711475, 1.817637, 1.923798], 'mattype': ['a9.3.a0.test-module.6457', 'a9.3.a0.test-module.6457', 'a9.3.a0.test-module.6457', 'a9.3.a0.test-module.6457', 'a9.3.a0.test-module.6457', 'a9.3.a0.test-module.6457', 'a9.3.a0.test-module.6457', 'a9.3.a0.test-module.6457', 'a9.3.a0.test-module.6457'], 'rearMat': ['a9.3.a0.test-module.2310', 'a9.3.a0.test-module.2310', 'a9.3.a0.test-module.2310', 'a9.3.a0.test-module.2310', 'a9.3.a0.test-module.2310', 'a9.3.a0.test-module.2310', 'a9.3.a0.test-module.2310', 'a9.3.a0.test-module.2310', 'a9.3.a0.test-module.2310'], 'Wm2Front': [320.6834, 322.1972, 324.8159, 326.0225, 327.2239, 328.4253, 330.7861, 331.5897, 332.3885], 'Wm2Back': [35.49439, 31.588530000000002, 30.99199, 27.038930000000004, 29.25153, 31.265830000000005, 32.3871, 35.31319, 36.71111], 'Back/FrontRatio': [0.11068324495984215, 0.0980406780671028, 0.09541372385488564, 0.08293552458641787, 0.08939273875551647, 0.09519892286336389, 0.097909198998389, 0.10649632212242383, 0.11044605801326456], 'backRatio': [0.11068324495984215, 0.0980406780671028, 0.09541372385488564, 0.08293552458641787, 0.08939273875551647, 0.09519892286336389, 0.097909198998389, 0.10649632212242383, 0.11044605801326456], 'rearX': [0.6774634, 0.5079648, 0.3384663, 0.1689677, -0.000530807, -0.1700293, -0.3395279, -0.5090264, -0.678525], 'rearY': [4.148267e-17, 3.110387e-17, 2.072508e-17, 1.034629e-17, -3.250256e-20, -1.041129e-17, -2.079009e-17, -3.116888e-17, -4.154767e-17]},\n",
+       "    'Wm2Front': [320.6834,\n",
+       "     322.1972,\n",
+       "     324.8159,\n",
+       "     326.0225,\n",
+       "     327.2239,\n",
+       "     328.4253,\n",
+       "     330.7861,\n",
+       "     331.5897,\n",
+       "     332.3885],\n",
+       "    'Wm2Back': [35.49439,\n",
+       "     31.588530000000002,\n",
+       "     30.99199,\n",
+       "     27.038930000000004,\n",
+       "     29.25153,\n",
+       "     31.265830000000005,\n",
+       "     32.3871,\n",
+       "     35.31319,\n",
+       "     36.71111],\n",
+       "    'backRatio': [0.11068324495984215,\n",
+       "     0.0980406780671028,\n",
+       "     0.09541372385488564,\n",
+       "     0.08293552458641787,\n",
+       "     0.08939273875551647,\n",
+       "     0.09519892286336389,\n",
+       "     0.097909198998389,\n",
+       "     0.10649632212242383,\n",
+       "     0.11044605801326456]}],\n",
+       "  'POA_eff': 381.55870777777767,\n",
+       "  'Gfront_mean': 331.3180333333333,\n",
+       "  'Grear_mean': 50.24067444444444,\n",
+       "  'Pout_module': 151.6885103972844,\n",
+       "  'Mismatch': 0.09471267246686135,\n",
+       "  'Pout_module_reduced': 151.54484215526196},\n",
+       " '2021-11-06_1200': {'surf_azm': 90.0,\n",
+       "  'surf_tilt': 9.27,\n",
+       "  'theta': -9.27,\n",
+       "  'ghi': 200,\n",
+       "  'dhi': 197,\n",
+       "  'temp_air': 20.0,\n",
+       "  'wind_speed': 5.2,\n",
+       "  'skyfile': 'skies\\\\sky2_37.5_-77.33_2021-11-06_1200.rad',\n",
+       "  'clearance_height': 1.3389129174701335,\n",
+       "  'radfile': 'objects\\\\1axis2021-11-06_1200__C_1.33891_rtr_6.00000_tilt_9.27000_20modsx7rows_origin0,0.rad',\n",
+       "  'scene': {'module': {'x': 1, 'y': 2, 'z': 0.02, 'modulematerial': 'black', 'scenex': 1.01, 'sceney': 2.0, 'scenez': 0.225, 'numpanels': 1, 'bifi': 1, 'text': '! genbox black test-module 1 2 0.02 | xform -t -0.5 -1.0 0 -a 1 -t 0 2.0 0\\r\\n! genrev black tube1 t*1.01 0.075 32 | xform -ry 90 -t -0.505 0 -0.22499999999999998', 'modulefile': 'objects\\\\test-module.rad', 'glass': False, 'offsetfromaxis': 0, 'xgap': 0.01, 'ygap': 0.0, 'zgap': 0.15}, 'modulefile': 'objects\\\\test-module.rad', 'hpc': False, 'gcr': 0.3333333333333333, 'text': '!xform -rx 9.27 -t 0 0 1.5 -a 20 -t 1.01 0 0 -a 7 -t 0 6 0 -i 1 -t -9.09 -18.0 0 -rz 90.0 -t 0 0 0 objects\\\\test-module.rad', 'radfiles': 'objects\\\\1axis2021-11-06_1200__C_1.33891_rtr_6.00000_tilt_9.27000_20modsx7rows_origin0,0.rad', 'sceneDict': {'tilt': 9.27, 'pitch': 6, 'clearance_height': 1.3389129174701335, 'azimuth': 90.0, 'nMods': 20, 'nRows': 7, 'modulez': 0.02, 'axis_tilt': 0, 'originx': 0, 'originy': 0}},\n",
+       "  'octfile': '1axis_2021-11-06_1200.oct',\n",
+       "  'Results': [{'rowWanted': 4,\n",
+       "    'modWanted': 1,\n",
+       "    'AnalysisObj': {'octfile': '1axis_2021-11-06_1200.oct', 'name': '1axis_2021-11-06_1200', 'hpc': False, 'modWanted': 1, 'rowWanted': 4, 'x': [0.792935, 0.5955469, 0.3981589, 0.2007709, 0.003382829, -0.1940052, -0.3913932, -0.5887813, -0.7861693], 'y': [-9.09, -9.09, -9.09, -9.09, -9.09, -9.09, -9.09, -9.09, -9.09], 'z': [1.391856, 1.424073, 1.456291, 1.488508, 1.520726, 1.552943, 1.585161, 1.617378, 1.649595], 'rearZ': [1.370143, 1.402361, 1.434578, 1.466796, 1.499013, 1.53123, 1.563448, 1.595665, 1.627883], 'mattype': ['a0.3.a0.test-module.6457', 'a0.3.a0.test-module.6457', 'a0.3.a0.test-module.6457', 'a0.3.a0.test-module.6457', 'a0.3.a0.test-module.6457', 'a0.3.a0.test-module.6457', 'a0.3.a0.test-module.6457', 'a0.3.a0.test-module.6457', 'a0.3.a0.test-module.6457'], 'rearMat': ['a0.3.a0.test-module.2310', 'a0.3.a0.test-module.2310', 'a0.3.a0.test-module.2310', 'a0.3.a0.test-module.2310', 'a0.3.a0.test-module.2310', 'a0.3.a0.test-module.2310', 'a0.3.a0.test-module.2310', 'a0.3.a0.test-module.2310', 'a0.3.a0.test-module.2310'], 'Wm2Front': [196.2314, 196.2578, 196.2825, 196.3071, 196.33180000000002, 196.51650000000004, 196.5325, 196.54730000000004, 196.562], 'Wm2Back': [30.06039, 29.61515, 27.37249, 23.904029999999995, 21.36608, 24.88538, 27.90442, 29.601610000000004, 30.308759999999996], 'Back/FrontRatio': [0.15318769989053796, 0.1508984565278092, 0.13945385118973322, 0.12176792501175446, 0.10882583042670403, 0.1266318775681555, 0.14198302070639354, 0.15060730619394824, 0.15419361731353304], 'backRatio': [0.15318769989053796, 0.1508984565278092, 0.13945385118973322, 0.12176792501175446, 0.10882583042670403, 0.1266318775681555, 0.14198302070639354, 0.15060730619394824, 0.15419361731353304], 'rearX': [0.7893911, 0.592003, 0.394615, 0.197227, -0.0001610871, -0.1975491, -0.3949372, -0.5923252, -0.7897132], 'rearY': [-9.09, -9.09, -9.09, -9.09, -9.09, -9.09, -9.09, -9.09, -9.09]},\n",
+       "    'Wm2Front': [196.2314,\n",
+       "     196.2578,\n",
+       "     196.2825,\n",
+       "     196.3071,\n",
+       "     196.33180000000002,\n",
+       "     196.51650000000004,\n",
+       "     196.5325,\n",
+       "     196.54730000000004,\n",
+       "     196.562],\n",
+       "    'Wm2Back': [30.06039,\n",
+       "     29.61515,\n",
+       "     27.37249,\n",
+       "     23.904029999999995,\n",
+       "     21.36608,\n",
+       "     24.88538,\n",
+       "     27.90442,\n",
+       "     29.601610000000004,\n",
+       "     30.308759999999996],\n",
+       "    'backRatio': [0.15318769989053796,\n",
+       "     0.1508984565278092,\n",
+       "     0.13945385118973322,\n",
+       "     0.12176792501175446,\n",
+       "     0.10882583042670403,\n",
+       "     0.1266318775681555,\n",
+       "     0.14198302070639354,\n",
+       "     0.15060730619394824,\n",
+       "     0.15419361731353304]},\n",
+       "   {'rowWanted': 4,\n",
+       "    'modWanted': 10,\n",
+       "    'AnalysisObj': {'octfile': '1axis_2021-11-06_1200.oct', 'name': '1axis_2021-11-06_1200', 'hpc': False, 'modWanted': 10, 'rowWanted': 4, 'x': [0.792935, 0.5955469, 0.3981589, 0.2007709, 0.003382829, -0.1940052, -0.3913932, -0.5887813, -0.7861693], 'y': [4.855326e-17, 3.646673e-17, 2.43802e-17, 1.229367e-17, 2.071385e-19, -1.187939e-17, -2.396592e-17, -3.605246e-17, -4.813899e-17], 'z': [1.391856, 1.424073, 1.456291, 1.488508, 1.520726, 1.552943, 1.585161, 1.617378, 1.649595], 'rearZ': [1.370143, 1.402361, 1.434578, 1.466796, 1.499013, 1.53123, 1.563448, 1.595665, 1.627883], 'mattype': ['a9.3.a0.test-module.6457', 'a9.3.a0.test-module.6457', 'a9.3.a0.test-module.6457', 'a9.3.a0.test-module.6457', 'a9.3.a0.test-module.6457', 'a9.3.a0.test-module.6457', 'a9.3.a0.test-module.6457', 'a9.3.a0.test-module.6457', 'a9.3.a0.test-module.6457'], 'rearMat': ['a9.3.a0.test-module.2310', 'a9.3.a0.test-module.2310', 'a9.3.a0.test-module.2310', 'a9.3.a0.test-module.2310', 'a9.3.a0.test-module.2310', 'a9.3.a0.test-module.2310', 'a9.3.a0.test-module.2310', 'a9.3.a0.test-module.2310', 'a9.3.a0.test-module.2310'], 'Wm2Front': [195.8279, 195.8738, 195.91819999999998, 195.9625, 196.0069, 196.41600000000003, 196.4265, 196.43549999999996, 196.44449999999998], 'Wm2Back': [23.1082, 22.36778, 20.31616, 17.52798, 17.31194, 19.41407, 21.11763, 22.680310000000002, 23.46888], 'Back/FrontRatio': [0.11800199051314693, 0.1141942710343546, 0.10369662595600636, 0.08944512626075773, 0.08832266454566372, 0.09884108809318946, 0.10750852095556883, 0.1154587360292003, 0.1194676386071455], 'backRatio': [0.11800199051314693, 0.1141942710343546, 0.10369662595600636, 0.08944512626075773, 0.08832266454566372, 0.09884108809318946, 0.10750852095556883, 0.1154587360292003, 0.1194676386071455], 'rearX': [0.7893911, 0.592003, 0.394615, 0.197227, -0.0001610871, -0.1975491, -0.3949372, -0.5923252, -0.7897132], 'rearY': [4.833626e-17, 3.624973e-17, 2.41632e-17, 1.207667e-17, -9.863739e-21, -1.20964e-17, -2.418293e-17, -3.626946e-17, -4.835599e-17]},\n",
+       "    'Wm2Front': [195.8279,\n",
+       "     195.8738,\n",
+       "     195.91819999999998,\n",
+       "     195.9625,\n",
+       "     196.0069,\n",
+       "     196.41600000000003,\n",
+       "     196.4265,\n",
+       "     196.43549999999996,\n",
+       "     196.44449999999998],\n",
+       "    'Wm2Back': [23.1082,\n",
+       "     22.36778,\n",
+       "     20.31616,\n",
+       "     17.52798,\n",
+       "     17.31194,\n",
+       "     19.41407,\n",
+       "     21.11763,\n",
+       "     22.680310000000002,\n",
+       "     23.46888],\n",
+       "    'backRatio': [0.11800199051314693,\n",
+       "     0.1141942710343546,\n",
+       "     0.10369662595600636,\n",
+       "     0.08944512626075773,\n",
+       "     0.08832266454566372,\n",
+       "     0.09884108809318946,\n",
+       "     0.10750852095556883,\n",
+       "     0.1154587360292003,\n",
+       "     0.1194676386071455]}],\n",
+       "  'POA_eff': 223.80796666666666,\n",
+       "  'Gfront_mean': 196.59861111111113,\n",
+       "  'Grear_mean': 27.209355555555558,\n",
+       "  'Pout_module': 88.47563285407567,\n",
+       "  'Mismatch': 0.220248521020352,\n",
+       "  'Pout_module_reduced': 88.28076658125117}}"
+      ]
+     },
+     "execution_count": 13,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "demo.analysis1axis(modWanted=[1, 10])"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 17,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "No CECModule data passed; using default for Prism Solar BHC72-400\n",
+      "Bifaciality factor of module stored is  1\n"
+     ]
+    },
+    {
+     "name": "stderr",
+     "output_type": "stream",
+     "text": [
+      "c:\\users\\sayala\\documents\\github\\bifacial_radiance\\bifacial_radiance\\mismatch.py:220: FutureWarning: outer method for ufunc <ufunc 'subtract'> is not implemented on pandas objects. Returning an ndarray, but in the future this will raise a 'NotImplementedError'. Consider explicitly converting the DataFrame to an array with '.to_numpy()' first.\n",
+      "  return (np.abs(np.subtract.outer(data,data)).sum()/float(data.__len__())**2 / np.mean(data))*100\n"
+     ]
+    },
+    {
+     "data": {
+      "text/plain": [
+       "{'2021-11-06_1100': {'surf_azm': 90.0,\n",
+       "  'surf_tilt': 32.06,\n",
+       "  'theta': -32.06,\n",
+       "  'ghi': 303,\n",
+       "  'dhi': 191,\n",
+       "  'temp_air': 19.4,\n",
+       "  'wind_speed': 7.2,\n",
+       "  'skyfile': 'skies\\\\sky2_37.5_-77.33_2021-11-06_1100.rad',\n",
+       "  'clearance_height': 0.9691929526002403,\n",
+       "  'radfile': 'objects\\\\1axis2021-11-06_1100__C_0.96919_rtr_6.00000_tilt_32.06000_20modsx7rows_origin0,0.rad',\n",
+       "  'scene': {'module': {'x': 1, 'y': 2, 'z': 0.02, 'modulematerial': 'black', 'scenex': 1.01, 'sceney': 2.0, 'scenez': 0.225, 'numpanels': 1, 'bifi': 1, 'text': '! genbox black test-module 1 2 0.02 | xform -t -0.5 -1.0 0 -a 1 -t 0 2.0 0\\r\\n! genrev black tube1 t*1.01 0.075 32 | xform -ry 90 -t -0.505 0 -0.22499999999999998', 'modulefile': 'objects\\\\test-module.rad', 'glass': False, 'offsetfromaxis': 0, 'xgap': 0.01, 'ygap': 0.0, 'zgap': 0.15}, 'modulefile': 'objects\\\\test-module.rad', 'hpc': False, 'gcr': 0.3333333333333333, 'text': '!xform -rx 32.06 -t 0 0 1.5 -a 20 -t 1.01 0 0 -a 7 -t 0 6 0 -i 1 -t -9.09 -18.0 0 -rz 90.0 -t 0 0 0 objects\\\\test-module.rad', 'radfiles': 'objects\\\\1axis2021-11-06_1100__C_0.96919_rtr_6.00000_tilt_32.06000_20modsx7rows_origin0,0.rad', 'sceneDict': {'tilt': 32.06, 'pitch': 6, 'clearance_height': 0.9691929526002403, 'azimuth': 90.0, 'nMods': 20, 'nRows': 7, 'modulez': 0.02, 'axis_tilt': 0, 'originx': 0, 'originy': 0}},\n",
+       "  'octfile': '1axis_2021-11-06_1100.oct',\n",
+       "  'Results': [{'rowWanted': 4,\n",
+       "    'modWanted': 1,\n",
+       "    'AnalysisObj': {'octfile': '1axis_2021-11-06_1100.oct', 'name': '1axis_2021-11-06_1100', 'hpc': False, 'modWanted': 1, 'rowWanted': 4, 'x': [0.6891411, 0.5196426, 0.350144, 0.1806455, 0.01114695, -0.1583516, -0.3278501, -0.4973487, -0.6668472], 'y': [-9.09, -9.09, -9.09, -9.09, -9.09, -9.09, -9.09, -9.09, -9.09], 'z': [1.093152, 1.199313, 1.305475, 1.411636, 1.517797, 1.623959, 1.73012, 1.836282, 1.942443], 'rearZ': [1.074507, 1.180668, 1.28683, 1.392991, 1.499153, 1.605314, 1.711475, 1.817637, 1.923798], 'mattype': ['a0.3.a0.test-module.6457', 'a0.3.a0.test-module.6457', 'a0.3.a0.test-module.6457', 'a0.3.a0.test-module.6457', 'a0.3.a0.test-module.6457', 'a0.3.a0.test-module.6457', 'a0.3.a0.test-module.6457', 'a0.3.a0.test-module.6457', 'a0.3.a0.test-module.6457'], 'rearMat': ['a0.3.a0.test-module.2310', 'a0.3.a0.test-module.2310', 'a0.3.a0.test-module.2310', 'a0.3.a0.test-module.2310', 'a0.3.a0.test-module.2310', 'a0.3.a0.test-module.2310', 'a0.3.a0.test-module.2310', 'a0.3.a0.test-module.2310', 'a0.3.a0.test-module.2310'], 'Wm2Front': [329.4024, 330.063, 330.7178, 331.4313, 331.9626, 332.4883, 332.956, 333.3254, 333.6895], 'Wm2Back': [53.66004, 53.25807, 50.33472, 46.89407, 39.76171, 47.047, 52.29441, 54.451519999999995, 55.26601], 'Back/FrontRatio': [0.16290068651386114, 0.16135679746958168, 0.1521979397603039, 0.14148913669548804, 0.1197773189590666, 0.1414992903531031, 0.15706055136248825, 0.16335795784552318, 0.16562056756185747], 'backRatio': [0.16290068651386114, 0.16135679746958168, 0.1521979397603039, 0.14148913669548804, 0.1197773189590666, 0.1414992903531031, 0.15706055136248825, 0.16335795784552318, 0.16562056756185747], 'rearX': [0.6774634, 0.5079648, 0.3384663, 0.1689677, -0.000530807, -0.1700293, -0.3395279, -0.5090264, -0.678525], 'rearY': [-9.09, -9.09, -9.09, -9.09, -9.09, -9.09, -9.09, -9.09, -9.09]},\n",
+       "    'Wm2Front': [329.4024,\n",
+       "     330.063,\n",
+       "     330.7178,\n",
+       "     331.4313,\n",
+       "     331.9626,\n",
+       "     332.4883,\n",
+       "     332.956,\n",
+       "     333.3254,\n",
+       "     333.6895],\n",
+       "    'Wm2Back': [53.66004,\n",
+       "     53.25807,\n",
+       "     50.33472,\n",
+       "     46.89407,\n",
+       "     39.76171,\n",
+       "     47.047,\n",
+       "     52.29441,\n",
+       "     54.451519999999995,\n",
+       "     55.26601],\n",
+       "    'backRatio': [0.16290068651386114,\n",
+       "     0.16135679746958168,\n",
+       "     0.1521979397603039,\n",
+       "     0.14148913669548804,\n",
+       "     0.1197773189590666,\n",
+       "     0.1414992903531031,\n",
+       "     0.15706055136248825,\n",
+       "     0.16335795784552318,\n",
+       "     0.16562056756185747]},\n",
+       "   {'rowWanted': 4,\n",
+       "    'modWanted': 10,\n",
+       "    'AnalysisObj': {'octfile': '1axis_2021-11-06_1100.oct', 'name': '1axis_2021-11-06_1100', 'hpc': False, 'modWanted': 10, 'rowWanted': 4, 'x': [0.6891411, 0.5196426, 0.350144, 0.1806455, 0.01114695, -0.1583516, -0.3278501, -0.4973487, -0.6668472], 'y': [4.219772e-17, 3.181893e-17, 2.144014e-17, 1.106135e-17, 6.825537e-19, -9.696239e-18, -2.007503e-17, -3.045382e-17, -4.083262e-17], 'z': [1.093152, 1.199313, 1.305475, 1.411636, 1.517797, 1.623959, 1.73012, 1.836282, 1.942443], 'rearZ': [1.074507, 1.180668, 1.28683, 1.392991, 1.499153, 1.605314, 1.711475, 1.817637, 1.923798], 'mattype': ['a9.3.a0.test-module.6457', 'a9.3.a0.test-module.6457', 'a9.3.a0.test-module.6457', 'a9.3.a0.test-module.6457', 'a9.3.a0.test-module.6457', 'a9.3.a0.test-module.6457', 'a9.3.a0.test-module.6457', 'a9.3.a0.test-module.6457', 'a9.3.a0.test-module.6457'], 'rearMat': ['a9.3.a0.test-module.2310', 'a9.3.a0.test-module.2310', 'a9.3.a0.test-module.2310', 'a9.3.a0.test-module.2310', 'a9.3.a0.test-module.2310', 'a9.3.a0.test-module.2310', 'a9.3.a0.test-module.2310', 'a9.3.a0.test-module.2310', 'a9.3.a0.test-module.2310'], 'Wm2Front': [320.6834, 322.1972, 324.8159, 326.0225, 327.2239, 328.4253, 330.7861, 331.5897, 332.3885], 'Wm2Back': [35.49439, 31.588530000000002, 30.99199, 27.038930000000004, 29.25153, 31.265830000000005, 32.3871, 35.31319, 36.71111], 'Back/FrontRatio': [0.11068324495984215, 0.0980406780671028, 0.09541372385488564, 0.08293552458641787, 0.08939273875551647, 0.09519892286336389, 0.097909198998389, 0.10649632212242383, 0.11044605801326456], 'backRatio': [0.11068324495984215, 0.0980406780671028, 0.09541372385488564, 0.08293552458641787, 0.08939273875551647, 0.09519892286336389, 0.097909198998389, 0.10649632212242383, 0.11044605801326456], 'rearX': [0.6774634, 0.5079648, 0.3384663, 0.1689677, -0.000530807, -0.1700293, -0.3395279, -0.5090264, -0.678525], 'rearY': [4.148267e-17, 3.110387e-17, 2.072508e-17, 1.034629e-17, -3.250256e-20, -1.041129e-17, -2.079009e-17, -3.116888e-17, -4.154767e-17]},\n",
+       "    'Wm2Front': [320.6834,\n",
+       "     322.1972,\n",
+       "     324.8159,\n",
+       "     326.0225,\n",
+       "     327.2239,\n",
+       "     328.4253,\n",
+       "     330.7861,\n",
+       "     331.5897,\n",
+       "     332.3885],\n",
+       "    'Wm2Back': [35.49439,\n",
+       "     31.588530000000002,\n",
+       "     30.99199,\n",
+       "     27.038930000000004,\n",
+       "     29.25153,\n",
+       "     31.265830000000005,\n",
+       "     32.3871,\n",
+       "     35.31319,\n",
+       "     36.71111],\n",
+       "    'backRatio': [0.11068324495984215,\n",
+       "     0.0980406780671028,\n",
+       "     0.09541372385488564,\n",
+       "     0.08293552458641787,\n",
+       "     0.08939273875551647,\n",
+       "     0.09519892286336389,\n",
+       "     0.097909198998389,\n",
+       "     0.10649632212242383,\n",
+       "     0.11044605801326456]}],\n",
+       "  'POA_eff': 382.11153888888896,\n",
+       "  'Gfront_mean': 331.78181111111115,\n",
+       "  'Grear_mean': 50.32972777777778,\n",
+       "  'Pout_module': 151.90600970602503,\n",
+       "  'Mismatch': 0.008953855511449052,\n",
+       "  'Pout_module_reduced': 151.89240826140275},\n",
+       " '2021-11-06_1200': {'surf_azm': 90.0,\n",
+       "  'surf_tilt': 9.27,\n",
+       "  'theta': -9.27,\n",
+       "  'ghi': 200,\n",
+       "  'dhi': 197,\n",
+       "  'temp_air': 20.0,\n",
+       "  'wind_speed': 5.2,\n",
+       "  'skyfile': 'skies\\\\sky2_37.5_-77.33_2021-11-06_1200.rad',\n",
+       "  'clearance_height': 1.3389129174701335,\n",
+       "  'radfile': 'objects\\\\1axis2021-11-06_1200__C_1.33891_rtr_6.00000_tilt_9.27000_20modsx7rows_origin0,0.rad',\n",
+       "  'scene': {'module': {'x': 1, 'y': 2, 'z': 0.02, 'modulematerial': 'black', 'scenex': 1.01, 'sceney': 2.0, 'scenez': 0.225, 'numpanels': 1, 'bifi': 1, 'text': '! genbox black test-module 1 2 0.02 | xform -t -0.5 -1.0 0 -a 1 -t 0 2.0 0\\r\\n! genrev black tube1 t*1.01 0.075 32 | xform -ry 90 -t -0.505 0 -0.22499999999999998', 'modulefile': 'objects\\\\test-module.rad', 'glass': False, 'offsetfromaxis': 0, 'xgap': 0.01, 'ygap': 0.0, 'zgap': 0.15}, 'modulefile': 'objects\\\\test-module.rad', 'hpc': False, 'gcr': 0.3333333333333333, 'text': '!xform -rx 9.27 -t 0 0 1.5 -a 20 -t 1.01 0 0 -a 7 -t 0 6 0 -i 1 -t -9.09 -18.0 0 -rz 90.0 -t 0 0 0 objects\\\\test-module.rad', 'radfiles': 'objects\\\\1axis2021-11-06_1200__C_1.33891_rtr_6.00000_tilt_9.27000_20modsx7rows_origin0,0.rad', 'sceneDict': {'tilt': 9.27, 'pitch': 6, 'clearance_height': 1.3389129174701335, 'azimuth': 90.0, 'nMods': 20, 'nRows': 7, 'modulez': 0.02, 'axis_tilt': 0, 'originx': 0, 'originy': 0}},\n",
+       "  'octfile': '1axis_2021-11-06_1200.oct',\n",
+       "  'Results': [{'rowWanted': 4,\n",
+       "    'modWanted': 1,\n",
+       "    'AnalysisObj': {'octfile': '1axis_2021-11-06_1200.oct', 'name': '1axis_2021-11-06_1200', 'hpc': False, 'modWanted': 1, 'rowWanted': 4, 'x': [0.792935, 0.5955469, 0.3981589, 0.2007709, 0.003382829, -0.1940052, -0.3913932, -0.5887813, -0.7861693], 'y': [-9.09, -9.09, -9.09, -9.09, -9.09, -9.09, -9.09, -9.09, -9.09], 'z': [1.391856, 1.424073, 1.456291, 1.488508, 1.520726, 1.552943, 1.585161, 1.617378, 1.649595], 'rearZ': [1.370143, 1.402361, 1.434578, 1.466796, 1.499013, 1.53123, 1.563448, 1.595665, 1.627883], 'mattype': ['a0.3.a0.test-module.6457', 'a0.3.a0.test-module.6457', 'a0.3.a0.test-module.6457', 'a0.3.a0.test-module.6457', 'a0.3.a0.test-module.6457', 'a0.3.a0.test-module.6457', 'a0.3.a0.test-module.6457', 'a0.3.a0.test-module.6457', 'a0.3.a0.test-module.6457'], 'rearMat': ['a0.3.a0.test-module.2310', 'a0.3.a0.test-module.2310', 'a0.3.a0.test-module.2310', 'a0.3.a0.test-module.2310', 'a0.3.a0.test-module.2310', 'a0.3.a0.test-module.2310', 'a0.3.a0.test-module.2310', 'a0.3.a0.test-module.2310', 'a0.3.a0.test-module.2310'], 'Wm2Front': [196.2314, 196.2578, 196.2825, 196.3071, 196.33180000000002, 196.51650000000004, 196.5325, 196.54730000000004, 196.562], 'Wm2Back': [30.06039, 29.61515, 27.37249, 23.904029999999995, 21.36608, 24.88538, 27.90442, 29.601610000000004, 30.308759999999996], 'Back/FrontRatio': [0.15318769989053796, 0.1508984565278092, 0.13945385118973322, 0.12176792501175446, 0.10882583042670403, 0.1266318775681555, 0.14198302070639354, 0.15060730619394824, 0.15419361731353304], 'backRatio': [0.15318769989053796, 0.1508984565278092, 0.13945385118973322, 0.12176792501175446, 0.10882583042670403, 0.1266318775681555, 0.14198302070639354, 0.15060730619394824, 0.15419361731353304], 'rearX': [0.7893911, 0.592003, 0.394615, 0.197227, -0.0001610871, -0.1975491, -0.3949372, -0.5923252, -0.7897132], 'rearY': [-9.09, -9.09, -9.09, -9.09, -9.09, -9.09, -9.09, -9.09, -9.09]},\n",
+       "    'Wm2Front': [196.2314,\n",
+       "     196.2578,\n",
+       "     196.2825,\n",
+       "     196.3071,\n",
+       "     196.33180000000002,\n",
+       "     196.51650000000004,\n",
+       "     196.5325,\n",
+       "     196.54730000000004,\n",
+       "     196.562],\n",
+       "    'Wm2Back': [30.06039,\n",
+       "     29.61515,\n",
+       "     27.37249,\n",
+       "     23.904029999999995,\n",
+       "     21.36608,\n",
+       "     24.88538,\n",
+       "     27.90442,\n",
+       "     29.601610000000004,\n",
+       "     30.308759999999996],\n",
+       "    'backRatio': [0.15318769989053796,\n",
+       "     0.1508984565278092,\n",
+       "     0.13945385118973322,\n",
+       "     0.12176792501175446,\n",
+       "     0.10882583042670403,\n",
+       "     0.1266318775681555,\n",
+       "     0.14198302070639354,\n",
+       "     0.15060730619394824,\n",
+       "     0.15419361731353304]},\n",
+       "   {'rowWanted': 4,\n",
+       "    'modWanted': 10,\n",
+       "    'AnalysisObj': {'octfile': '1axis_2021-11-06_1200.oct', 'name': '1axis_2021-11-06_1200', 'hpc': False, 'modWanted': 10, 'rowWanted': 4, 'x': [0.792935, 0.5955469, 0.3981589, 0.2007709, 0.003382829, -0.1940052, -0.3913932, -0.5887813, -0.7861693], 'y': [4.855326e-17, 3.646673e-17, 2.43802e-17, 1.229367e-17, 2.071385e-19, -1.187939e-17, -2.396592e-17, -3.605246e-17, -4.813899e-17], 'z': [1.391856, 1.424073, 1.456291, 1.488508, 1.520726, 1.552943, 1.585161, 1.617378, 1.649595], 'rearZ': [1.370143, 1.402361, 1.434578, 1.466796, 1.499013, 1.53123, 1.563448, 1.595665, 1.627883], 'mattype': ['a9.3.a0.test-module.6457', 'a9.3.a0.test-module.6457', 'a9.3.a0.test-module.6457', 'a9.3.a0.test-module.6457', 'a9.3.a0.test-module.6457', 'a9.3.a0.test-module.6457', 'a9.3.a0.test-module.6457', 'a9.3.a0.test-module.6457', 'a9.3.a0.test-module.6457'], 'rearMat': ['a9.3.a0.test-module.2310', 'a9.3.a0.test-module.2310', 'a9.3.a0.test-module.2310', 'a9.3.a0.test-module.2310', 'a9.3.a0.test-module.2310', 'a9.3.a0.test-module.2310', 'a9.3.a0.test-module.2310', 'a9.3.a0.test-module.2310', 'a9.3.a0.test-module.2310'], 'Wm2Front': [195.8279, 195.8738, 195.91819999999998, 195.9625, 196.0069, 196.41600000000003, 196.4265, 196.43549999999996, 196.44449999999998], 'Wm2Back': [23.1082, 22.36778, 20.31616, 17.52798, 17.31194, 19.41407, 21.11763, 22.680310000000002, 23.46888], 'Back/FrontRatio': [0.11800199051314693, 0.1141942710343546, 0.10369662595600636, 0.08944512626075773, 0.08832266454566372, 0.09884108809318946, 0.10750852095556883, 0.1154587360292003, 0.1194676386071455], 'backRatio': [0.11800199051314693, 0.1141942710343546, 0.10369662595600636, 0.08944512626075773, 0.08832266454566372, 0.09884108809318946, 0.10750852095556883, 0.1154587360292003, 0.1194676386071455], 'rearX': [0.7893911, 0.592003, 0.394615, 0.197227, -0.0001610871, -0.1975491, -0.3949372, -0.5923252, -0.7897132], 'rearY': [4.833626e-17, 3.624973e-17, 2.41632e-17, 1.207667e-17, -9.863739e-21, -1.20964e-17, -2.418293e-17, -3.626946e-17, -4.835599e-17]},\n",
+       "    'Wm2Front': [195.8279,\n",
+       "     195.8738,\n",
+       "     195.91819999999998,\n",
+       "     195.9625,\n",
+       "     196.0069,\n",
+       "     196.41600000000003,\n",
+       "     196.4265,\n",
+       "     196.43549999999996,\n",
+       "     196.44449999999998],\n",
+       "    'Wm2Back': [23.1082,\n",
+       "     22.36778,\n",
+       "     20.31616,\n",
+       "     17.52798,\n",
+       "     17.31194,\n",
+       "     19.41407,\n",
+       "     21.11763,\n",
+       "     22.680310000000002,\n",
+       "     23.46888],\n",
+       "    'backRatio': [0.11800199051314693,\n",
+       "     0.1141942710343546,\n",
+       "     0.10369662595600636,\n",
+       "     0.08944512626075773,\n",
+       "     0.08832266454566372,\n",
+       "     0.09884108809318946,\n",
+       "     0.10750852095556883,\n",
+       "     0.1154587360292003,\n",
+       "     0.1194676386071455]}],\n",
+       "  'POA_eff': 359.3527888888888,\n",
+       "  'Gfront_mean': 327.1258333333333,\n",
+       "  'Grear_mean': 32.226955555555556,\n",
+       "  'Pout_module': 142.93507816880157,\n",
+       "  'Mismatch': 0.009611756335197274,\n",
+       "  'Pout_module_reduced': 142.92133959737046}}"
+      ]
+     },
+     "execution_count": 17,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "demo.calculateResults()"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 16,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/html": [
+       "<div>\n",
+       "<style scoped>\n",
+       "    .dataframe tbody tr th:only-of-type {\n",
+       "        vertical-align: middle;\n",
+       "    }\n",
+       "\n",
+       "    .dataframe tbody tr th {\n",
+       "        vertical-align: top;\n",
+       "    }\n",
+       "\n",
+       "    .dataframe thead th {\n",
+       "        text-align: right;\n",
+       "    }\n",
+       "</style>\n",
+       "<table border=\"1\" class=\"dataframe\">\n",
+       "  <thead>\n",
+       "    <tr style=\"text-align: right;\">\n",
+       "      <th></th>\n",
+       "      <th>timestamp</th>\n",
+       "      <th>POA_eff</th>\n",
+       "      <th>Grear_mean</th>\n",
+       "      <th>Gfront_mean</th>\n",
+       "      <th>Pout</th>\n",
+       "      <th>Pout_Gfront</th>\n",
+       "      <th>BGG</th>\n",
+       "      <th>BGE</th>\n",
+       "      <th>Mismatch</th>\n",
+       "      <th>Pout_red</th>\n",
+       "    </tr>\n",
+       "  </thead>\n",
+       "  <tbody>\n",
+       "    <tr>\n",
+       "      <th>0</th>\n",
+       "      <td>2021-11-06_1100</td>\n",
+       "      <td>382.111539</td>\n",
+       "      <td>50.329728</td>\n",
+       "      <td>331.781811</td>\n",
+       "      <td>151.906010</td>\n",
+       "      <td>132.023191</td>\n",
+       "      <td>15.169526</td>\n",
+       "      <td>15.060096</td>\n",
+       "      <td>0.008954</td>\n",
+       "      <td>151.892408</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>1</th>\n",
+       "      <td>2021-11-06_1200</td>\n",
+       "      <td>359.352789</td>\n",
+       "      <td>32.226956</td>\n",
+       "      <td>327.125833</td>\n",
+       "      <td>142.935078</td>\n",
+       "      <td>130.175843</td>\n",
+       "      <td>9.851547</td>\n",
+       "      <td>9.801538</td>\n",
+       "      <td>0.009612</td>\n",
+       "      <td>142.921340</td>\n",
+       "    </tr>\n",
+       "  </tbody>\n",
+       "</table>\n",
+       "</div>"
+      ],
+      "text/plain": [
+       "         timestamp     POA_eff  Grear_mean  Gfront_mean        Pout  \\\n",
+       "0  2021-11-06_1100  382.111539   50.329728   331.781811  151.906010   \n",
+       "1  2021-11-06_1200  359.352789   32.226956   327.125833  142.935078   \n",
+       "\n",
+       "   Pout_Gfront        BGG        BGE  Mismatch    Pout_red  \n",
+       "0   132.023191  15.169526  15.060096  0.008954  151.892408  \n",
+       "1   130.175843   9.851547   9.801538  0.009612  142.921340  "
+      ]
+     },
+     "execution_count": 16,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "demo.CompiledResults"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": []
+  }
+ ],
+ "metadata": {
+  "anaconda-cloud": {},
+  "kernelspec": {
+   "display_name": "Python 3 (ipykernel)",
+   "language": "python",
+   "name": "python3"
+  },
+  "language_info": {
+   "codemirror_mode": {
+    "name": "ipython",
+    "version": 3
+   },
+   "file_extension": ".py",
+   "mimetype": "text/x-python",
+   "name": "python",
+   "nbconvert_exporter": "python",
+   "pygments_lexer": "ipython3",
+   "version": "3.8.8"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 1
+}
diff --git a/docs/tutorials/23 - Edge Effects with Hourly Tracking Dictionary.py b/docs/tutorials/23 - Edge Effects with Hourly Tracking Dictionary.py
new file mode 100644
index 00000000..df1b39b6
--- /dev/null
+++ b/docs/tutorials/23 - Edge Effects with Hourly Tracking Dictionary.py
@@ -0,0 +1,120 @@
+#!/usr/bin/env python
+# coding: utf-8
+
+# <a id='step1'></a>
+
+# # 23 - Edge Effects with Hourly Tracking Dictionary
+# 
+# The tracker dictionary is the internal structure of bifacial_radiance to keep track of the multiple Angles or Hours that it's simulating, the rad files, scene, oct files and analysis. Before release v0.4.3, while you could run analysis various times to model different modules in the field and it would save your CSV irradiances, it only kep track of ONE analysis object (the one that was generated last). Given our new performance module calculation functionality, this was updated so that now it keeps track of every module/row analyzed. See example below.
+# 
+# Here we model a central module and an edge module on the center row of an array, to evaluate edge effects.
+
+# In[1]:
+
+
+import os
+from pathlib import Path
+
+testfolder = str(Path().resolve().parent.parent / 'bifacial_radiance' / 'TEMP' / 'Tutorial_23')
+if not os.path.exists(testfolder):
+    os.makedirs(testfolder)
+        
+print ("Your simulation will be stored in %s" % testfolder)
+
+
+# In[2]:
+
+
+import bifacial_radiance
+import numpy as np
+import pprint   
+import pandas as pd
+
+
+# <a id='step2'></a>
+
+# In[5]:
+
+
+import bifacial_radiance
+import os 
+
+simulationName = 'Tutorial 23'
+moduletype = 'test-module'    
+albedo = 0.2    
+lat = 37.5   
+lon = -77.6
+
+#makeModule parameters
+modx=1
+mody=2
+xgap = 0.01
+ygap = 0.0
+zgap = 0.15
+numpanels = 1
+
+# Scene variables
+nMods = 20
+nRows = 7
+hub_height = 1.5 # meters
+pitch = 6 # meters  
+gcr = mody/pitch
+
+# Traking parameters
+cumulativesky = False
+limit_angle = 45 # degrees 
+angledelta = 0.01 # 
+backtrack = True 
+
+
+torquetube = True
+# the Tracker rotates around the panels
+tubeParams = {'diameter':0.15,
+              'tubetype':'round',
+              'material':'black',
+              'axisofrotation':False}
+
+startdate = '11_06_11'     
+enddate = '11_06_12'
+demo = bifacial_radiance.RadianceObj(simulationName, path=testfolder)  
+demo.setGround(albedo) 
+epwfile = demo.getEPW(lat,lon) 
+metdata = demo.readWeatherFile(epwfile, starttime=startdate, endtime=enddate)  
+mymodule = bifacial_radiance.ModuleObj(name=moduletype, x=modx, y=mody, xgap=xgap, ygap=ygap,   
+                zgap=zgap, numpanels=numpanels, tubeParams=tubeParams)
+sceneDict = {'pitch':pitch,'hub_height':hub_height, 'nMods': nMods, 'nRows': nRows}  
+demo.set1axis(limit_angle = limit_angle, backtrack = backtrack, gcr = gcr, cumulativesky = cumulativesky)
+demo.gendaylit1axis()
+demo.makeScene1axis(module=mymodule,sceneDict=sceneDict) #makeScene creates a .rad file with 20 modules per row, 7 rows.
+demo.makeOct1axis()
+
+
+# In[7]:
+
+
+demo.trackerdict.keys()
+
+
+# In[13]:
+
+
+demo.analysis1axis(modWanted=[1, 10])
+
+
+# In[17]:
+
+
+demo.calculateResults()
+
+
+# In[16]:
+
+
+demo.CompiledResults
+
+
+# In[ ]:
+
+
+
+


Test patch:
diff --git a/docs/tutorials/modelchain test.html b/docs/tutorials/modelchain test.html
index 0a3e206c..8775ae2d 100644
--- a/docs/tutorials/modelchain test.html
+++ b/docs/tutorials/modelchain test.html
@@ -13971,7 +13971,7 @@
 <div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs  ">
 <div class="jp-Cell-inputWrapper">
 <div class="jp-InputArea jp-Cell-inputArea">
-<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[2]:</div>
+<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[1]:</div>
 <div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
      <div class="CodeMirror cm-s-jupyter">
 <div class=" highlight hl-ipython3"><pre><span></span><span class="kn">import</span> <span class="nn">bifacial_radiance</span>
@@ -13987,7 +13987,7 @@
 </div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs  ">
 <div class="jp-Cell-inputWrapper">
 <div class="jp-InputArea jp-Cell-inputArea">
-<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[3]:</div>
+<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[2]:</div>
 <div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
      <div class="CodeMirror cm-s-jupyter">
 <div class=" highlight hl-ipython3"><pre><span></span><span class="n">inifile</span> <span class="o">=</span> <span class="sa">r</span><span class="s1">&#39;C:\Users\sayala\Documents\GitHub\bifacial_radiance\tests\ini_highAzimuth.ini&#39;</span>
@@ -14006,7 +14006,7 @@
 </div><div class="jp-Cell jp-CodeCell jp-Notebook-cell   ">
 <div class="jp-Cell-inputWrapper">
 <div class="jp-InputArea jp-Cell-inputArea">
-<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[4]:</div>
+<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[3]:</div>
 <div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
      <div class="CodeMirror cm-s-jupyter">
 <div class=" highlight hl-ipython3"><pre><span></span><span class="p">(</span><span class="n">Params</span><span class="p">)</span><span class="o">=</span> <span class="n">bifacial_radiance</span><span class="o">.</span><span class="n">load</span><span class="o">.</span><span class="n">readconfigurationinputfile</span><span class="p">(</span><span class="n">inifile</span><span class="o">=</span><span class="n">inifile</span><span class="p">)</span>
@@ -14041,7 +14041,7 @@
 </div><div class="jp-Cell jp-CodeCell jp-Notebook-cell   ">
 <div class="jp-Cell-inputWrapper">
 <div class="jp-InputArea jp-Cell-inputArea">
-<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[5]:</div>
+<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[4]:</div>
 <div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
      <div class="CodeMirror cm-s-jupyter">
 <div class=" highlight hl-ipython3"><pre><span></span><span class="n">Params</span>
@@ -14060,7 +14060,7 @@
 <div class="jp-OutputArea-child">
 
     
-    <div class="jp-OutputPrompt jp-OutputArea-prompt">Out[5]:</div>
+    <div class="jp-OutputPrompt jp-OutputArea-prompt">Out[4]:</div>
 
 
 
@@ -14118,7 +14118,7 @@
 </div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs  ">
 <div class="jp-Cell-inputWrapper">
 <div class="jp-InputArea jp-Cell-inputArea">
-<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[6]:</div>
+<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[5]:</div>
 <div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
      <div class="CodeMirror cm-s-jupyter">
 <div class=" highlight hl-ipython3"><pre><span></span><span class="n">Params</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="s1">&#39;testfolder&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">testfolder</span>
@@ -14131,6 +14131,20 @@
 </div>
 </div>
 
+</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs  ">
+<div class="jp-Cell-inputWrapper">
+<div class="jp-InputArea jp-Cell-inputArea">
+<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[6]:</div>
+<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
+     <div class="CodeMirror cm-s-jupyter">
+<div class=" highlight hl-ipython3"><pre><span></span><span class="n">Params</span><span class="p">[</span><span class="mi">6</span><span class="p">][</span><span class="s1">&#39;modWanted&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="p">[</span><span class="mi">1</span><span class="p">,</span> <span class="mi">3</span><span class="p">]</span>
+</pre></div>
+
+     </div>
+</div>
+</div>
+</div>
+
 </div><div class="jp-Cell jp-CodeCell jp-Notebook-cell   ">
 <div class="jp-Cell-inputWrapper">
 <div class="jp-InputArea jp-Cell-inputArea">
@@ -14159,9 +14173,10 @@
 <div class="jp-RenderedText jp-OutputArea-output" data-mime-type="text/plain">
 <pre>
 New bifacial_radiance simulation starting. 
-Version:  0.4.0-dev2+20.g4dfb2bf.dirty
+Version:  0.4.1+16.g0c78455.dirty
 path = C:\Users\sayala\Documents\GitHub\bifacial_radiance\bifacial_radiance\TEMP\Modelchain
 Loading times to restrict weather data to
+analysisParamsDict[&#39;modWanted&#39;] set to middle module by default
 Reading weather file C:\Users\sayala\Documents\GitHub\bifacial_radiance\tests\724666TYA.csv
 Warning: CSV file passed for input. Assuming it is TMY3style format
 8760 line in WeatherFile. Assuming this is a standard hourly WeatherFile for the year for purposes of saving Gencumulativesky temporary weather files in EPW folder.
@@ -14188,19 +14203,16 @@
 Making 2 octfiles in root directory.
 Created 1axis_2021-06-17_1300.oct
 Created 1axis_2021-06-17_1400.oct
-Linescan in process: 1axis_2021-06-17_1300_Front
-Linescan in process: 1axis_2021-06-17_1300_Back
-Saved: results\irr_1axis_2021-06-17_1300_Front.csv
-Saved: results\irr_1axis_2021-06-17_1300_Back.csv
-Index: 2021-06-17_1300. Wm2Front: 898.5004208333334. Wm2Back: 188.68636074074075
-Linescan in process: 1axis_2021-06-17_1400_Front
-Linescan in process: 1axis_2021-06-17_1400_Back
-Saved: results\irr_1axis_2021-06-17_1400_Front.csv
-Saved: results\irr_1axis_2021-06-17_1400_Back.csv
-Index: 2021-06-17_1400. Wm2Front: 646.5643125. Wm2Back: 153.1178651851852
-Saving a cumulative-results file in the main simulation folder.This adds up by sensor location the irradiance over all hours or configurations considered.
-Warning: This file saving routine does not clean results, so if your setup has ygaps, or 2+modules or torque tubes, doing a deeper cleaning and working with the individual results files in the results folder is highly suggested.
-Not able to save a cumulative result for this simulation.
+Linescan in process: 1axis_2021-06-17_1300_Row2_Module5_Front
+Linescan in process: 1axis_2021-06-17_1300_Row2_Module5_Back
+Saved: results\irr_1axis_2021-06-17_1300_Row2_Module5_Front.csv
+Saved: results\irr_1axis_2021-06-17_1300_Row2_Module5_Back.csv
+Index: 2021-06-17_1300. Wm2Front: 897.6890375. Wm2Back: 188.0002166666667
+Linescan in process: 1axis_2021-06-17_1400_Row2_Module5_Front
+Linescan in process: 1axis_2021-06-17_1400_Row2_Module5_Back
+Saved: results\irr_1axis_2021-06-17_1400_Row2_Module5_Front.csv
+Saved: results\irr_1axis_2021-06-17_1400_Row2_Module5_Back.csv
+Index: 2021-06-17_1400. Wm2Front: 646.1976916666667. Wm2Back: 152.18251999999998
 
 --&gt; Calculating Performance values
 Bifaciality factor of module stored is  0.8
@@ -14209,21 +14221,173 @@
 </div>
 </div>
 
+</div>
+
+</div>
+
+</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs  ">
+<div class="jp-Cell-inputWrapper">
+<div class="jp-InputArea jp-Cell-inputArea">
+<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[&nbsp;]:</div>
+<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
+     <div class="CodeMirror cm-s-jupyter">
+<div class=" highlight hl-ipython3"><pre><span></span><span class="n">analysis</span> <span class="o">--</span> <span class="n">Wm2Back</span> <span class="n">adn</span> <span class="n">Wm2Front</span>
+</pre></div>
+
+     </div>
+</div>
+</div>
+</div>
+
+</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell   ">
+<div class="jp-Cell-inputWrapper">
+<div class="jp-InputArea jp-Cell-inputArea">
+<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[13]:</div>
+<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
+     <div class="CodeMirror cm-s-jupyter">
+<div class=" highlight hl-ipython3"><pre><span></span><span class="n">demo2</span><span class="o">.</span><span class="vm">__dict__</span>
+</pre></div>
+
+     </div>
+</div>
+</div>
+</div>
+
+<div class="jp-Cell-outputWrapper">
+
+
+<div class="jp-OutputArea jp-Cell-outputArea">
+
 <div class="jp-OutputArea-child">
 
     
-    <div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
+    <div class="jp-OutputPrompt jp-OutputArea-prompt">Out[13]:</div>
 
 
-<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="application/vnd.jupyter.stderr">
-<pre>c:\users\sayala\documents\github\bifacial_radiance\bifacial_radiance\mismatch.py:220: FutureWarning: outer method for ufunc &lt;ufunc &#39;subtract&#39;&gt; is not implemented on pandas objects. Returning an ndarray, but in the future this will raise a &#39;NotImplementedError&#39;. Consider explicitly converting the DataFrame to an array with &#39;.to_numpy()&#39; first.
-  return (np.abs(np.subtract.outer(data,data)).sum()/float(data.__len__())**2 / np.mean(data))*100
-</pre>
+
+
+<div class="jp-RenderedText jp-OutputArea-output jp-OutputArea-executeResult" data-mime-type="text/plain">
+<pre>{&#39;metdata&#39;: &lt;bifacial_radiance.main.MetObj at 0x190eee00f10&gt;,
+ &#39;data&#39;: {},
+ &#39;path&#39;: &#39;C:\\Users\\sayala\\Documents\\GitHub\\bifacial_radiance\\bifacial_radiance\\TEMP\\Modelchain&#39;,
+ &#39;name&#39;: &#39;2021-06-17_1400&#39;,
+ &#39;materialfiles&#39;: [&#39;materials\\ground.rad&#39;],
+ &#39;skyfiles&#39;: [&#39;skies\\sky2_39.742_-105.179_2021-06-17_1400.rad&#39;],
+ &#39;radfiles&#39;: [],
+ &#39;octfile&#39;: &#39;1axis_2021-06-17_1400.oct&#39;,
+ &#39;Wm2Front&#39;: 0,
+ &#39;Wm2Back&#39;: 0,
+ &#39;backRatio&#39;: 0,
+ &#39;nMods&#39;: 10,
+ &#39;nRows&#39;: 3,
+ &#39;hpc&#39;: False,
+ &#39;nowstr&#39;: &#39;2022-03-11_1138&#39;,
+ &#39;basename&#39;: &#39;_test_high_azimuth_angle_modelchain&#39;,
+ &#39;gencumsky_metfile&#39;: &#39;EPWs\\metdata_temp.csv&#39;,
+ &#39;ground&#39;: &lt;bifacial_radiance.main.GroundObj at 0x190ec97ee50&gt;,
+ &#39;module&#39;: {&#39;x&#39;: 1.59, &#39;y&#39;: 0.95, &#39;z&#39;: 0.02, &#39;modulematerial&#39;: &#39;black&#39;, &#39;scenex&#39;: 1.59, &#39;sceney&#39;: 0.95, &#39;scenez&#39;: 0.0, &#39;numpanels&#39;: 1, &#39;bifi&#39;: 0.8, &#39;text&#39;: &#39;! genbox black test-module 1.59 0.95 0.02 | xform -t -0.795 -0.475 0 -a 1 -t 0 0.95 0&#39;, &#39;modulefile&#39;: &#39;objects\\test-module.rad&#39;, &#39;glass&#39;: False, &#39;offsetfromaxis&#39;: 0, &#39;xgap&#39;: 0.0, &#39;ygap&#39;: 0.0, &#39;zgap&#39;: 0.0},
+ &#39;trackerdict&#39;: {&#39;2021-06-17_1300&#39;: {&#39;surf_azm&#39;: 30.0,
+   &#39;surf_tilt&#39;: 10.0,
+   &#39;theta&#39;: 10.0,
+   &#39;ghi&#39;: 959,
+   &#39;dhi&#39;: 172,
+   &#39;temp_air&#39;: 28.9,
+   &#39;wind_speed&#39;: 6.2,
+   &#39;skyfile&#39;: &#39;skies\\sky2_39.742_-105.179_2021-06-17_1300.rad&#39;,
+   &#39;clearance_height&#39;: 0.2,
+   &#39;radfile&#39;: &#39;objects\\1axis2021-06-17_1300__C_0.20000_rtr_1.50000_tilt_10.00000_10modsx3rows_origin0,0.rad&#39;,
+   &#39;scene&#39;: {&#39;module&#39;: {&#39;x&#39;: 1.59, &#39;y&#39;: 0.95, &#39;z&#39;: 0.02, &#39;modulematerial&#39;: &#39;black&#39;, &#39;scenex&#39;: 1.59, &#39;sceney&#39;: 0.95, &#39;scenez&#39;: 0.0, &#39;numpanels&#39;: 1, &#39;bifi&#39;: 0.8, &#39;text&#39;: &#39;! genbox black test-module 1.59 0.95 0.02 | xform -t -0.795 -0.475 0 -a 1 -t 0 0.95 0&#39;, &#39;modulefile&#39;: &#39;objects\\test-module.rad&#39;, &#39;glass&#39;: False, &#39;offsetfromaxis&#39;: 0, &#39;xgap&#39;: 0.0, &#39;ygap&#39;: 0.0, &#39;zgap&#39;: 0.0}, &#39;modulefile&#39;: &#39;objects\\test-module.rad&#39;, &#39;hpc&#39;: False, &#39;gcr&#39;: 0.6333333333333333, &#39;text&#39;: &#39;!xform -rx 10.0 -t 0 0 0.2824828843917919 -a 10 -t 1.59 0 0 -a 3 -t 0 1.5 0 -i 1 -t -6.36 -1.5 0 -rz 150.0 -t 0 0 0 objects\\test-module.rad&#39;, &#39;radfiles&#39;: &#39;objects\\1axis2021-06-17_1300__C_0.20000_rtr_1.50000_tilt_10.00000_10modsx3rows_origin0,0.rad&#39;, &#39;sceneDict&#39;: {&#39;tilt&#39;: 10.0, &#39;pitch&#39;: 1.5, &#39;clearance_height&#39;: 0.2, &#39;azimuth&#39;: 30.0, &#39;nMods&#39;: 10, &#39;nRows&#39;: 3, &#39;modulez&#39;: 0.02, &#39;axis_tilt&#39;: 0, &#39;originx&#39;: 0, &#39;originy&#39;: 0}},
+   &#39;octfile&#39;: &#39;1axis_2021-06-17_1300.oct&#39;,
+   &#39;Results&#39;: [{&#39;rowWanted&#39;: 2,
+     &#39;modWanted&#39;: 5,
+     &#39;AnalysisObj&#39;: {&#39;octfile&#39;: &#39;1axis_2021-06-17_1300.oct&#39;, &#39;name&#39;: &#39;1axis_2021-06-17_1300&#39;, &#39;hpc&#39;: False, &#39;modWanted&#39;: 5, &#39;rowWanted&#39;: 2, &#39;Wm2Front&#39;: [895.5053333333334, 895.7779, 896.0497333333333, 898.7332, 898.7845333333333, 898.8358666666667, 898.8872333333334, 898.9385000000001], &#39;Wm2Back&#39;: [146.7011, 111.57029999999999, 99.84521666666666, 109.47816666666667, 131.9399, 171.2386, 233.62636666666666, 308.50913333333335, 379.0931666666667], &#39;backRatio&#39;: 0.209426649303398, &#39;x&#39;: [0.1870266, 0.1402483, 0.09346991, 0.04669154, -8.682409e-05, -0.04686519, -0.09364356, -0.1404219, -0.1872003], &#39;y&#39;: [0.3239397, 0.2429171, 0.1618946, 0.08087213, -0.0001503837, -0.08117289, -0.1621954, -0.2432179, -0.3242404], &#39;z&#39;: [0.2155118, 0.2320083, 0.2485049, 0.2650015, 0.2814981, 0.2979947, 0.3144912, 0.3309878, 0.3474844], &#39;mattype&#39;: [&#39;a4.1.a0.test-module.6457&#39;, &#39;a4.1.a0.test-module.6457&#39;, &#39;a4.1.a0.test-module.6457&#39;, &#39;a4.1.a0.test-module.6457&#39;, &#39;a4.1.a0.test-module.6457&#39;, &#39;a4.1.a0.test-module.6457&#39;, &#39;a4.1.a0.test-module.6457&#39;, &#39;a4.1.a0.test-module.6457&#39;], &#39;rearMat&#39;: [&#39;a4.1.a0.test-module.2310&#39;, &#39;a4.1.a0.test-module.2310&#39;, &#39;a4.1.a0.test-module.2310&#39;, &#39;a4.1.a0.test-module.2310&#39;, &#39;a4.1.a0.test-module.2310&#39;, &#39;a4.1.a0.test-module.2310&#39;, &#39;a4.1.a0.test-module.2310&#39;, &#39;a4.1.a0.test-module.2310&#39;, &#39;a4.1.a0.test-module.2310&#39;]},
+     &#39;Wm2Front&#39;: [895.5053333333334,
+      895.7779,
+      896.0497333333333,
+      898.7332,
+      898.7845333333333,
+      898.8358666666667,
+      898.8872333333334,
+      898.9385000000001],
+     &#39;Wm2Back&#39;: [146.7011,
+      111.57029999999999,
+      99.84521666666666,
+      109.47816666666667,
+      131.9399,
+      171.2386,
+      233.62636666666666,
+      308.50913333333335,
+      379.0931666666667],
+     &#39;backRatio&#39;: 0.209426649303398}]},
+  &#39;2021-06-17_1400&#39;: {&#39;surf_azm&#39;: 30.0,
+   &#39;surf_tilt&#39;: 10.0,
+   &#39;theta&#39;: 10.0,
+   &#39;ghi&#39;: 702,
+   &#39;dhi&#39;: 306,
+   &#39;temp_air&#39;: 27.8,
+   &#39;wind_speed&#39;: 5.1,
+   &#39;skyfile&#39;: &#39;skies\\sky2_39.742_-105.179_2021-06-17_1400.rad&#39;,
+   &#39;clearance_height&#39;: 0.2,
+   &#39;radfile&#39;: &#39;objects\\1axis2021-06-17_1400__C_0.20000_rtr_1.50000_tilt_10.00000_10modsx3rows_origin0,0.rad&#39;,
+   &#39;scene&#39;: {&#39;module&#39;: {&#39;x&#39;: 1.59, &#39;y&#39;: 0.95, &#39;z&#39;: 0.02, &#39;modulematerial&#39;: &#39;black&#39;, &#39;scenex&#39;: 1.59, &#39;sceney&#39;: 0.95, &#39;scenez&#39;: 0.0, &#39;numpanels&#39;: 1, &#39;bifi&#39;: 0.8, &#39;text&#39;: &#39;! genbox black test-module 1.59 0.95 0.02 | xform -t -0.795 -0.475 0 -a 1 -t 0 0.95 0&#39;, &#39;modulefile&#39;: &#39;objects\\test-module.rad&#39;, &#39;glass&#39;: False, &#39;offsetfromaxis&#39;: 0, &#39;xgap&#39;: 0.0, &#39;ygap&#39;: 0.0, &#39;zgap&#39;: 0.0}, &#39;modulefile&#39;: &#39;objects\\test-module.rad&#39;, &#39;hpc&#39;: False, &#39;gcr&#39;: 0.6333333333333333, &#39;text&#39;: &#39;!xform -rx 10.0 -t 0 0 0.2824828843917919 -a 10 -t 1.59 0 0 -a 3 -t 0 1.5 0 -i 1 -t -6.36 -1.5 0 -rz 150.0 -t 0 0 0 objects\\test-module.rad&#39;, &#39;radfiles&#39;: &#39;objects\\1axis2021-06-17_1400__C_0.20000_rtr_1.50000_tilt_10.00000_10modsx3rows_origin0,0.rad&#39;, &#39;sceneDict&#39;: {&#39;tilt&#39;: 10.0, &#39;pitch&#39;: 1.5, &#39;clearance_height&#39;: 0.2, &#39;azimuth&#39;: 30.0, &#39;nMods&#39;: 10, &#39;nRows&#39;: 3, &#39;modulez&#39;: 0.02, &#39;axis_tilt&#39;: 0, &#39;originx&#39;: 0, &#39;originy&#39;: 0}},
+   &#39;octfile&#39;: &#39;1axis_2021-06-17_1400.oct&#39;,
+   &#39;Results&#39;: [{&#39;rowWanted&#39;: 2,
+     &#39;modWanted&#39;: 5,
+     &#39;AnalysisObj&#39;: {&#39;octfile&#39;: &#39;1axis_2021-06-17_1400.oct&#39;, &#39;name&#39;: &#39;1axis_2021-06-17_1400&#39;, &#39;hpc&#39;: False, &#39;modWanted&#39;: 5, &#39;rowWanted&#39;: 2, &#39;Wm2Front&#39;: [644.3194, 644.7297666666667, 645.1418333333332, 645.5538666666667, 645.9658666666666, 647.8394666666667, 647.9564333333333, 648.0749], &#39;Wm2Back&#39;: [117.00423333333333, 87.34127000000001, 87.59819333333333, 96.44088333333333, 114.32423333333334, 148.15723333333335, 192.7387, 242.80536666666663, 283.2325666666666], &#39;backRatio&#39;: 0.23550422178586114, &#39;x&#39;: [0.1870266, 0.1402483, 0.09346991, 0.04669154, -8.682409e-05, -0.04686519, -0.09364356, -0.1404219, -0.1872003], &#39;y&#39;: [0.3239397, 0.2429171, 0.1618946, 0.08087213, -0.0001503837, -0.08117289, -0.1621954, -0.2432179, -0.3242404], &#39;z&#39;: [0.2155118, 0.2320083, 0.2485049, 0.2650015, 0.2814981, 0.2979947, 0.3144912, 0.3309878, 0.3474844], &#39;mattype&#39;: [&#39;a4.1.a0.test-module.6457&#39;, &#39;a4.1.a0.test-module.6457&#39;, &#39;a4.1.a0.test-module.6457&#39;, &#39;a4.1.a0.test-module.6457&#39;, &#39;a4.1.a0.test-module.6457&#39;, &#39;a4.1.a0.test-module.6457&#39;, &#39;a4.1.a0.test-module.6457&#39;, &#39;a4.1.a0.test-module.6457&#39;], &#39;rearMat&#39;: [&#39;a4.1.a0.test-module.2310&#39;, &#39;a4.1.a0.test-module.2310&#39;, &#39;a4.1.a0.test-module.2310&#39;, &#39;a4.1.a0.test-module.2310&#39;, &#39;a4.1.a0.test-module.2310&#39;, &#39;a4.1.a0.test-module.2310&#39;, &#39;a4.1.a0.test-module.2310&#39;, &#39;a4.1.a0.test-module.2310&#39;, &#39;a4.1.a0.test-module.2310&#39;]},
+     &#39;Wm2Front&#39;: [644.3194,
+      644.7297666666667,
+      645.1418333333332,
+      645.5538666666667,
+      645.9658666666666,
+      647.8394666666667,
+      647.9564333333333,
+      648.0749],
+     &#39;Wm2Back&#39;: [117.00423333333333,
+      87.34127000000001,
+      87.59819333333333,
+      96.44088333333333,
+      114.32423333333334,
+      148.15723333333335,
+      192.7387,
+      242.80536666666663,
+      283.2325666666666],
+     &#39;backRatio&#39;: 0.23550422178586114}]}},
+ &#39;cumulativesky&#39;: False,
+ &#39;hub_height&#39;: 0.2}</pre>
 </div>
+
+</div>
+
+</div>
+
 </div>
 
+</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs  ">
+<div class="jp-Cell-inputWrapper">
+<div class="jp-InputArea jp-Cell-inputArea">
+<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[&nbsp;]:</div>
+<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
+     <div class="CodeMirror cm-s-jupyter">
+<div class=" highlight hl-ipython3"><pre><span></span><span class="n">demo2</span>
+</pre></div>
+
+     </div>
+</div>
+</div>
 </div>
 
+</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs  ">
+<div class="jp-Cell-inputWrapper">
+<div class="jp-InputArea jp-Cell-inputArea">
+<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[&nbsp;]:</div>
+<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
+     <div class="CodeMirror cm-s-jupyter">
+<div class=" highlight hl-ipython3"><pre><span></span><span class="n">demo2</span>
+</pre></div>
+
+     </div>
+</div>
+</div>
 </div>
 
 </div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs  ">
@@ -14232,7 +14396,7 @@
 <div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[&nbsp;]:</div>
 <div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
      <div class="CodeMirror cm-s-jupyter">
-<div class=" highlight hl-ipython3"><pre><span></span><span class="n">demo2</span><span class="o">.</span><span class="n">trackerdict</span>
+<div class=" highlight hl-ipython3"><pre><span></span><span class="n">demo2</span><span class="o">.</span><span class="n">results</span>
 </pre></div>
 
      </div>
diff --git a/docs/tutorials/modelchain test.ipynb b/docs/tutorials/modelchain test.ipynb
index d5f13537..a79bdade 100644
--- a/docs/tutorials/modelchain test.ipynb
+++ b/docs/tutorials/modelchain test.ipynb
@@ -2,7 +2,7 @@
  "cells": [
   {
    "cell_type": "code",
-   "execution_count": 2,
+   "execution_count": 1,
    "id": "c15c77ea",
    "metadata": {},
    "outputs": [],
@@ -14,7 +14,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 3,
+   "execution_count": 2,
    "id": "b96adf39",
    "metadata": {},
    "outputs": [],
@@ -29,7 +29,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 4,
+   "execution_count": 3,
    "id": "32cfa50d",
    "metadata": {},
    "outputs": [
@@ -47,7 +47,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 5,
+   "execution_count": 4,
    "id": "96f8b309",
    "metadata": {},
    "outputs": [
@@ -97,7 +97,7 @@
        "  'Adjust': 4.39011})"
       ]
      },
-     "execution_count": 5,
+     "execution_count": 4,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -108,7 +108,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 6,
+   "execution_count": 5,
    "id": "eccc942e",
    "metadata": {},
    "outputs": [],
@@ -118,6 +118,16 @@
     "Params[2].update({'starttime': '06_17_13', 'endtime':'06_17_14'}); "
    ]
   },
+  {
+   "cell_type": "code",
+   "execution_count": 6,
+   "id": "5b04c1c7",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "Params[6]['modWanted'] = [1, 3]"
+   ]
+  },
   {
    "cell_type": "code",
    "execution_count": 7,
@@ -130,9 +140,10 @@
      "text": [
       "\n",
       "New bifacial_radiance simulation starting. \n",
-      "Version:  0.4.0-dev2+20.g4dfb2bf.dirty\n",
+      "Version:  0.4.1+16.g0c78455.dirty\n",
       "path = C:\\Users\\sayala\\Documents\\GitHub\\bifacial_radiance\\bifacial_radiance\\TEMP\\Modelchain\n",
       "Loading times to restrict weather data to\n",
+      "analysisParamsDict['modWanted'] set to middle module by default\n",
       "Reading weather file C:\\Users\\sayala\\Documents\\GitHub\\bifacial_radiance\\tests\\724666TYA.csv\n",
       "Warning: CSV file passed for input. Assuming it is TMY3style format\n",
       "8760 line in WeatherFile. Assuming this is a standard hourly WeatherFile for the year for purposes of saving Gencumulativesky temporary weather files in EPW folder.\n",
@@ -159,36 +170,162 @@
       "Making 2 octfiles in root directory.\n",
       "Created 1axis_2021-06-17_1300.oct\n",
       "Created 1axis_2021-06-17_1400.oct\n",
-      "Linescan in process: 1axis_2021-06-17_1300_Front\n",
-      "Linescan in process: 1axis_2021-06-17_1300_Back\n",
-      "Saved: results\\irr_1axis_2021-06-17_1300_Front.csv\n",
-      "Saved: results\\irr_1axis_2021-06-17_1300_Back.csv\n",
-      "Index: 2021-06-17_1300. Wm2Front: 898.5004208333334. Wm2Back: 188.68636074074075\n",
-      "Linescan in process: 1axis_2021-06-17_1400_Front\n",
-      "Linescan in process: 1axis_2021-06-17_1400_Back\n",
-      "Saved: results\\irr_1axis_2021-06-17_1400_Front.csv\n",
-      "Saved: results\\irr_1axis_2021-06-17_1400_Back.csv\n",
-      "Index: 2021-06-17_1400. Wm2Front: 646.5643125. Wm2Back: 153.1178651851852\n",
-      "Saving a cumulative-results file in the main simulation folder.This adds up by sensor location the irradiance over all hours or configurations considered.\n",
-      "Warning: This file saving routine does not clean results, so if your setup has ygaps, or 2+modules or torque tubes, doing a deeper cleaning and working with the individual results files in the results folder is highly suggested.\n",
-      "Not able to save a cumulative result for this simulation.\n",
+      "Linescan in process: 1axis_2021-06-17_1300_Row2_Module5_Front\n",
+      "Linescan in process: 1axis_2021-06-17_1300_Row2_Module5_Back\n",
+      "Saved: results\\irr_1axis_2021-06-17_1300_Row2_Module5_Front.csv\n",
+      "Saved: results\\irr_1axis_2021-06-17_1300_Row2_Module5_Back.csv\n",
+      "Index: 2021-06-17_1300. Wm2Front: 897.6890375. Wm2Back: 188.0002166666667\n",
+      "Linescan in process: 1axis_2021-06-17_1400_Row2_Module5_Front\n",
+      "Linescan in process: 1axis_2021-06-17_1400_Row2_Module5_Back\n",
+      "Saved: results\\irr_1axis_2021-06-17_1400_Row2_Module5_Front.csv\n",
+      "Saved: results\\irr_1axis_2021-06-17_1400_Row2_Module5_Back.csv\n",
+      "Index: 2021-06-17_1400. Wm2Front: 646.1976916666667. Wm2Back: 152.18251999999998\n",
       "\n",
       "--> Calculating Performance values\n",
       "Bifaciality factor of module stored is  0.8\n",
       "Exporting TrackerDict\n"
      ]
-    },
+    }
+   ],
+   "source": [
+    "demo2, analysis = bifacial_radiance.modelchain.runModelChain(*Params ) "
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "1d1adb8d",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "analysis -- Wm2Back adn Wm2Front\n"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 13,
+   "id": "86970d4e",
+   "metadata": {},
+   "outputs": [
     {
-     "name": "stderr",
-     "output_type": "stream",
-     "text": [
-      "c:\\users\\sayala\\documents\\github\\bifacial_radiance\\bifacial_radiance\\mismatch.py:220: FutureWarning: outer method for ufunc <ufunc 'subtract'> is not implemented on pandas objects. Returning an ndarray, but in the future this will raise a 'NotImplementedError'. Consider explicitly converting the DataFrame to an array with '.to_numpy()' first.\n",
-      "  return (np.abs(np.subtract.outer(data,data)).sum()/float(data.__len__())**2 / np.mean(data))*100\n"
-     ]
+     "data": {
+      "text/plain": [
+       "{'metdata': <bifacial_radiance.main.MetObj at 0x190eee00f10>,\n",
+       " 'data': {},\n",
+       " 'path': 'C:\\\\Users\\\\sayala\\\\Documents\\\\GitHub\\\\bifacial_radiance\\\\bifacial_radiance\\\\TEMP\\\\Modelchain',\n",
+       " 'name': '2021-06-17_1400',\n",
+       " 'materialfiles': ['materials\\\\ground.rad'],\n",
+       " 'skyfiles': ['skies\\\\sky2_39.742_-105.179_2021-06-17_1400.rad'],\n",
+       " 'radfiles': [],\n",
+       " 'octfile': '1axis_2021-06-17_1400.oct',\n",
+       " 'Wm2Front': 0,\n",
+       " 'Wm2Back': 0,\n",
+       " 'backRatio': 0,\n",
+       " 'nMods': 10,\n",
+       " 'nRows': 3,\n",
+       " 'hpc': False,\n",
+       " 'nowstr': '2022-03-11_1138',\n",
+       " 'basename': '_test_high_azimuth_angle_modelchain',\n",
+       " 'gencumsky_metfile': 'EPWs\\\\metdata_temp.csv',\n",
+       " 'ground': <bifacial_radiance.main.GroundObj at 0x190ec97ee50>,\n",
+       " 'module': {'x': 1.59, 'y': 0.95, 'z': 0.02, 'modulematerial': 'black', 'scenex': 1.59, 'sceney': 0.95, 'scenez': 0.0, 'numpanels': 1, 'bifi': 0.8, 'text': '! genbox black test-module 1.59 0.95 0.02 | xform -t -0.795 -0.475 0 -a 1 -t 0 0.95 0', 'modulefile': 'objects\\\\test-module.rad', 'glass': False, 'offsetfromaxis': 0, 'xgap': 0.0, 'ygap': 0.0, 'zgap': 0.0},\n",
+       " 'trackerdict': {'2021-06-17_1300': {'surf_azm': 30.0,\n",
+       "   'surf_tilt': 10.0,\n",
+       "   'theta': 10.0,\n",
+       "   'ghi': 959,\n",
+       "   'dhi': 172,\n",
+       "   'temp_air': 28.9,\n",
+       "   'wind_speed': 6.2,\n",
+       "   'skyfile': 'skies\\\\sky2_39.742_-105.179_2021-06-17_1300.rad',\n",
+       "   'clearance_height': 0.2,\n",
+       "   'radfile': 'objects\\\\1axis2021-06-17_1300__C_0.20000_rtr_1.50000_tilt_10.00000_10modsx3rows_origin0,0.rad',\n",
+       "   'scene': {'module': {'x': 1.59, 'y': 0.95, 'z': 0.02, 'modulematerial': 'black', 'scenex': 1.59, 'sceney': 0.95, 'scenez': 0.0, 'numpanels': 1, 'bifi': 0.8, 'text': '! genbox black test-module 1.59 0.95 0.02 | xform -t -0.795 -0.475 0 -a 1 -t 0 0.95 0', 'modulefile': 'objects\\\\test-module.rad', 'glass': False, 'offsetfromaxis': 0, 'xgap': 0.0, 'ygap': 0.0, 'zgap': 0.0}, 'modulefile': 'objects\\\\test-module.rad', 'hpc': False, 'gcr': 0.6333333333333333, 'text': '!xform -rx 10.0 -t 0 0 0.2824828843917919 -a 10 -t 1.59 0 0 -a 3 -t 0 1.5 0 -i 1 -t -6.36 -1.5 0 -rz 150.0 -t 0 0 0 objects\\\\test-module.rad', 'radfiles': 'objects\\\\1axis2021-06-17_1300__C_0.20000_rtr_1.50000_tilt_10.00000_10modsx3rows_origin0,0.rad', 'sceneDict': {'tilt': 10.0, 'pitch': 1.5, 'clearance_height': 0.2, 'azimuth': 30.0, 'nMods': 10, 'nRows': 3, 'modulez': 0.02, 'axis_tilt': 0, 'originx': 0, 'originy': 0}},\n",
+       "   'octfile': '1axis_2021-06-17_1300.oct',\n",
+       "   'Results': [{'rowWanted': 2,\n",
+       "     'modWanted': 5,\n",
+       "     'AnalysisObj': {'octfile': '1axis_2021-06-17_1300.oct', 'name': '1axis_2021-06-17_1300', 'hpc': False, 'modWanted': 5, 'rowWanted': 2, 'Wm2Front': [895.5053333333334, 895.7779, 896.0497333333333, 898.7332, 898.7845333333333, 898.8358666666667, 898.8872333333334, 898.9385000000001], 'Wm2Back': [146.7011, 111.57029999999999, 99.84521666666666, 109.47816666666667, 131.9399, 171.2386, 233.62636666666666, 308.50913333333335, 379.0931666666667], 'backRatio': 0.209426649303398, 'x': [0.1870266, 0.1402483, 0.09346991, 0.04669154, -8.682409e-05, -0.04686519, -0.09364356, -0.1404219, -0.1872003], 'y': [0.3239397, 0.2429171, 0.1618946, 0.08087213, -0.0001503837, -0.08117289, -0.1621954, -0.2432179, -0.3242404], 'z': [0.2155118, 0.2320083, 0.2485049, 0.2650015, 0.2814981, 0.2979947, 0.3144912, 0.3309878, 0.3474844], 'mattype': ['a4.1.a0.test-module.6457', 'a4.1.a0.test-module.6457', 'a4.1.a0.test-module.6457', 'a4.1.a0.test-module.6457', 'a4.1.a0.test-module.6457', 'a4.1.a0.test-module.6457', 'a4.1.a0.test-module.6457', 'a4.1.a0.test-module.6457'], 'rearMat': ['a4.1.a0.test-module.2310', 'a4.1.a0.test-module.2310', 'a4.1.a0.test-module.2310', 'a4.1.a0.test-module.2310', 'a4.1.a0.test-module.2310', 'a4.1.a0.test-module.2310', 'a4.1.a0.test-module.2310', 'a4.1.a0.test-module.2310', 'a4.1.a0.test-module.2310']},\n",
+       "     'Wm2Front': [895.5053333333334,\n",
+       "      895.7779,\n",
+       "      896.0497333333333,\n",
+       "      898.7332,\n",
+       "      898.7845333333333,\n",
+       "      898.8358666666667,\n",
+       "      898.8872333333334,\n",
+       "      898.9385000000001],\n",
+       "     'Wm2Back': [146.7011,\n",
+       "      111.57029999999999,\n",
+       "      99.84521666666666,\n",
+       "      109.47816666666667,\n",
+       "      131.9399,\n",
+       "      171.2386,\n",
+       "      233.62636666666666,\n",
+       "      308.50913333333335,\n",
+       "      379.0931666666667],\n",
+       "     'backRatio': 0.209426649303398}]},\n",
+       "  '2021-06-17_1400': {'surf_azm': 30.0,\n",
+       "   'surf_tilt': 10.0,\n",
+       "   'theta': 10.0,\n",
+       "   'ghi': 702,\n",
+       "   'dhi': 306,\n",
+       "   'temp_air': 27.8,\n",
+       "   'wind_speed': 5.1,\n",
+       "   'skyfile': 'skies\\\\sky2_39.742_-105.179_2021-06-17_1400.rad',\n",
+       "   'clearance_height': 0.2,\n",
+       "   'radfile': 'objects\\\\1axis2021-06-17_1400__C_0.20000_rtr_1.50000_tilt_10.00000_10modsx3rows_origin0,0.rad',\n",
+       "   'scene': {'module': {'x': 1.59, 'y': 0.95, 'z': 0.02, 'modulematerial': 'black', 'scenex': 1.59, 'sceney': 0.95, 'scenez': 0.0, 'numpanels': 1, 'bifi': 0.8, 'text': '! genbox black test-module 1.59 0.95 0.02 | xform -t -0.795 -0.475 0 -a 1 -t 0 0.95 0', 'modulefile': 'objects\\\\test-module.rad', 'glass': False, 'offsetfromaxis': 0, 'xgap': 0.0, 'ygap': 0.0, 'zgap': 0.0}, 'modulefile': 'objects\\\\test-module.rad', 'hpc': False, 'gcr': 0.6333333333333333, 'text': '!xform -rx 10.0 -t 0 0 0.2824828843917919 -a 10 -t 1.59 0 0 -a 3 -t 0 1.5 0 -i 1 -t -6.36 -1.5 0 -rz 150.0 -t 0 0 0 objects\\\\test-module.rad', 'radfiles': 'objects\\\\1axis2021-06-17_1400__C_0.20000_rtr_1.50000_tilt_10.00000_10modsx3rows_origin0,0.rad', 'sceneDict': {'tilt': 10.0, 'pitch': 1.5, 'clearance_height': 0.2, 'azimuth': 30.0, 'nMods': 10, 'nRows': 3, 'modulez': 0.02, 'axis_tilt': 0, 'originx': 0, 'originy': 0}},\n",
+       "   'octfile': '1axis_2021-06-17_1400.oct',\n",
+       "   'Results': [{'rowWanted': 2,\n",
+       "     'modWanted': 5,\n",
+       "     'AnalysisObj': {'octfile': '1axis_2021-06-17_1400.oct', 'name': '1axis_2021-06-17_1400', 'hpc': False, 'modWanted': 5, 'rowWanted': 2, 'Wm2Front': [644.3194, 644.7297666666667, 645.1418333333332, 645.5538666666667, 645.9658666666666, 647.8394666666667, 647.9564333333333, 648.0749], 'Wm2Back': [117.00423333333333, 87.34127000000001, 87.59819333333333, 96.44088333333333, 114.32423333333334, 148.15723333333335, 192.7387, 242.80536666666663, 283.2325666666666], 'backRatio': 0.23550422178586114, 'x': [0.1870266, 0.1402483, 0.09346991, 0.04669154, -8.682409e-05, -0.04686519, -0.09364356, -0.1404219, -0.1872003], 'y': [0.3239397, 0.2429171, 0.1618946, 0.08087213, -0.0001503837, -0.08117289, -0.1621954, -0.2432179, -0.3242404], 'z': [0.2155118, 0.2320083, 0.2485049, 0.2650015, 0.2814981, 0.2979947, 0.3144912, 0.3309878, 0.3474844], 'mattype': ['a4.1.a0.test-module.6457', 'a4.1.a0.test-module.6457', 'a4.1.a0.test-module.6457', 'a4.1.a0.test-module.6457', 'a4.1.a0.test-module.6457', 'a4.1.a0.test-module.6457', 'a4.1.a0.test-module.6457', 'a4.1.a0.test-module.6457'], 'rearMat': ['a4.1.a0.test-module.2310', 'a4.1.a0.test-module.2310', 'a4.1.a0.test-module.2310', 'a4.1.a0.test-module.2310', 'a4.1.a0.test-module.2310', 'a4.1.a0.test-module.2310', 'a4.1.a0.test-module.2310', 'a4.1.a0.test-module.2310', 'a4.1.a0.test-module.2310']},\n",
+       "     'Wm2Front': [644.3194,\n",
+       "      644.7297666666667,\n",
+       "      645.1418333333332,\n",
+       "      645.5538666666667,\n",
+       "      645.9658666666666,\n",
+       "      647.8394666666667,\n",
+       "      647.9564333333333,\n",
+       "      648.0749],\n",
+       "     'Wm2Back': [117.00423333333333,\n",
+       "      87.34127000000001,\n",
+       "      87.59819333333333,\n",
+       "      96.44088333333333,\n",
+       "      114.32423333333334,\n",
+       "      148.15723333333335,\n",
+       "      192.7387,\n",
+       "      242.80536666666663,\n",
+       "      283.2325666666666],\n",
+       "     'backRatio': 0.23550422178586114}]}},\n",
+       " 'cumulativesky': False,\n",
+       " 'hub_height': 0.2}"
+      ]
+     },
+     "execution_count": 13,
+     "metadata": {},
+     "output_type": "execute_result"
     }
    ],
    "source": [
-    "demo2, analysis = bifacial_radiance.modelchain.runModelChain(*Params ) \n"
+    "demo2.__dict__"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "39a94675",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "demo2"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "7537ae81",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "demo2"
    ]
   },
   {
@@ -198,7 +335,7 @@
    "metadata": {},
    "outputs": [],
    "source": [
-    "demo2.trackerdict"
+    "demo2.results"
    ]
   },
   {
diff --git a/docs/tutorials/modelchain test.py b/docs/tutorials/modelchain test.py
index 00c1e212..fa5d56a0 100644
--- a/docs/tutorials/modelchain test.py
+++ b/docs/tutorials/modelchain test.py
@@ -1,7 +1,7 @@
 #!/usr/bin/env python
 # coding: utf-8
 
-# In[2]:
+# In[1]:
 
 
 import bifacial_radiance
@@ -9,7 +9,7 @@
 import pandas as pd
 
 
-# In[3]:
+# In[2]:
 
 
 inifile = r'C:\Users\sayala\Documents\GitHub\bifacial_radiance\tests\ini_highAzimuth.ini'
@@ -20,19 +20,19 @@
 testfolder = r'C:\Users\sayala\Documents\GitHub\bifacial_radiance\bifacial_radiance\TEMP\Modelchain'
 
 
-# In[4]:
+# In[3]:
 
 
 (Params)= bifacial_radiance.load.readconfigurationinputfile(inifile=inifile)
 
 
-# In[5]:
+# In[4]:
 
 
 Params
 
 
-# In[6]:
+# In[5]:
 
 
 Params[0]['testfolder'] = testfolder
@@ -40,6 +40,12 @@
 Params[2].update({'starttime': '06_17_13', 'endtime':'06_17_14'}); 
 
 
+# In[6]:
+
+
+Params[6]['modWanted'] = [1, 3]
+
+
 # In[7]:
 
 
@@ -49,7 +55,31 @@
 # In[ ]:
 
 
-demo2.trackerdict
+analysis -- Wm2Back adn Wm2Front
+
+
+# In[13]:
+
+
+demo2.__dict__
+
+
+# In[ ]:
+
+
+demo2
+
+
+# In[ ]:
+
+
+demo2
+
+
+# In[ ]:
+
+
+demo2.results
 
 
 # In[ ]:
diff --git a/tests/1axis_2021-06-17_1300.oct b/tests/1axis_2021-06-17_1300.oct
new file mode 100644
index 00000000..d107551b
Binary files /dev/null and b/tests/1axis_2021-06-17_1300.oct differ
diff --git a/tests/simulation.ini b/tests/simulation.ini
new file mode 100644
index 00000000..5e91a3be
--- /dev/null
+++ b/tests/simulation.ini
@@ -0,0 +1,60 @@
+[simulationParamsDict]
+weatherFile = 724666TYA.CSV
+getEPW = False
+simulationname = _test_high_azimuth_angle_modelchain
+moduletype = test-module
+rewriteModule = True
+cellLevelModule = False
+axisofrotationTorqueTube = False
+torqueTube = False
+hpc = False
+tracking = False
+cumulativeSky = False
+selectTimes = True
+latitude = 37.5
+longitude = -77.6
+testfolder = C:\Users\sayala\Documents\GitHub\bifacial_radiance\tests
+
+[sceneParamsDict]
+albedo = white_EPDM
+nMods = 10
+nRows = 3
+gcrorpitch = pitch
+pitch = 1.5
+azimuth = 30.0
+clearance_height = 0.2
+tilt = 10.0
+
+[timeControlParamsDict]
+starttime = 06_17_13
+endtime = 06_17_13
+
+[moduleParamsDict]
+bifi = 0.8
+numpanels = 1
+xgap = 0.0
+ygap = 0.0
+zgap = 0.0
+x = 1.59
+y = 0.95
+
+[trackingParamsDict]
+
+[torquetubeParamsDict]
+
+[analysisParamsDict]
+sensorsy = (8, 9)
+modWanted = 5
+rowWanted = 2
+
+[cellLevelModuleParamsDict]
+
+[CECModParamsDict]
+alpha_sc = 0.0039216
+a_ref = 1.80227
+I_L_ref = 10.5308
+I_o_ref = 2.28e-11
+R_sh_ref = 900.982
+R_s = 0.285529
+Adjust = 4.39011
+
diff --git a/tests/test_bifacial_radiance.py b/tests/test_bifacial_radiance.py
index d43558d6..839072c0 100644
--- a/tests/test_bifacial_radiance.py
+++ b/tests/test_bifacial_radiance.py
@@ -133,11 +133,12 @@ def test_Radiance_1axis_gendaylit_modelchains():
 
     (Params)= bifacial_radiance.load.readconfigurationinputfile(inifile=filename)
     Params[0]['testfolder'] = TESTDIR
+    Params[6]['modWanted'] = [6,7]
     # unpack the Params tuple with *Params
     demo2, analysis = bifacial_radiance.modelchain.runModelChain(*Params) 
     #V 0.2.5 fixed the gcr passed to set1axis. (since gcr was not being passd to set1axis, gcr was default 0.33 default). 
-    assert(np.mean(demo2.Wm2Front) == pytest.approx(205.0, 0.01) ) # was 214 in v0.2.3  # was 205 in early v0.2.4  
-    assert(np.mean(demo2.Wm2Back) == pytest.approx(43.0, 0.1) )
+    assert(demo2.CompiledResults.Gfront_mean[0] == pytest.approx(205.0, 0.01) ) # was 214 in v0.2.3  # was 205 in early v0.2.4  
+    assert(demo2.CompiledResults.Grear_mean[0] == pytest.approx(43.0, 0.1) )
     assert demo2.trackerdict['2001-01-01_1100']['scene'].text.__len__() == 132
     assert demo2.trackerdict['2001-01-01_1100']['scene'].text[23:28] == " 2.0 "
     demo2.exportTrackerDict(savefile = 'results\exportedTrackerDict.csv', reindex=True)
@@ -163,17 +164,18 @@ def test_RadianceObj_1axis_gendaylit_end_to_end():
     # create metdata files for each condition. keys are timestamps for gendaylit workflow
     trackerdict = demo.set1axis(cumulativesky=False, gcr=gcr)
     # create the skyfiles needed for 1-axis tracking
-    demo.gendaylit1axis(metdata=metdata, enddate='01/01')
+    demo.gendaylit1axis(metdata=metdata)
     # Create the scene for the 1-axis tracking
     demo.makeScene1axis({key:trackerdict[key]}, module='test-module', sceneDict=sceneDict, cumulativesky = False)
     #demo.makeScene1axis({key:trackerdict[key]}, module_type,sceneDict, cumulativesky = False, nMods = 10, nRows = 3, modwanted = 7, rowwanted = 3, sensorsy = 2) #makeScene creates a .rad file with 20 modules per row, 7 rows.
     
     demo.makeOct1axis(trackerdict,key) # just run this for one timestep: Jan 1 11am
-    trackerdict = demo.analysis1axis(trackerdict, singleindex=key, modWanted=7, rowWanted=3, sensorsy=2) # just run this for one timestep: Jan 1 11am
-    
+    trackerdict = demo.analysis1axis(trackerdict, singleindex=key, modWanted=[6,7], rowWanted=3, sensorsy=2) # just run this for one timestep: Jan 1 11am
+    trackerdict = demo.calculateResults()
+    demo.exportTrackerDict(savefile=os.path.join('results','Final_Results.csv'),reindex=False)
     #V 0.2.5 fixed the gcr passed to set1axis. (since gcr was not being passd to set1axis, gcr was default 0.33 default). 
-    assert(np.mean(demo.Wm2Front) == pytest.approx(205.0, 0.01) ) # was 214 in v0.2.3  # was 205 in early v0.2.4  
-    assert(np.mean(demo.Wm2Back) == pytest.approx(43.0, 0.1) )
+    assert(demo.CompiledResults.Gfront_mean == pytest.approx(205.0, 0.01) ) # was 214 in v0.2.3  # was 205 in early v0.2.4  
+    assert(demo.CompiledResults.Grear_mean == pytest.approx(43.0, 0.1) )
 """
 
 def test_1axis_gencumSky():
@@ -219,11 +221,11 @@ def test_1axis_gencumSky():
     minitrackerdict[list(trackerdict)[0]] = trackerdict[list(trackerdict.keys())[0]]
     trackerdict = demo.makeOct1axis(trackerdict=minitrackerdict) # just run this for one timestep: Jan 1 11am
     trackerdict = demo.analysis1axis(trackerdict=trackerdict, modWanted=7, rowWanted=3, sensorsy=2) 
-    assert trackerdict[-5.0]['AnalysisObj'].x[0] == -10.76304
+    assert trackerdict[-5.0]['Results'][0]['AnalysisObj'].x[0] == -10.76304
     modscanfront = {}
     modscanfront = {'xstart': -5}
     trackerdict = demo.analysis1axis(trackerdict=trackerdict, modWanted=7, rowWanted=3, sensorsy=2, modscanfront=modscanfront ) 
-    assert trackerdict[-5.0]['AnalysisObj'].x[0] == -5
+    assert trackerdict[-5.0]['Results'][0]['AnalysisObj'].x[0] == -5