FebriantiW/Homomorphic-Encryption-and-Federated-Learning-based-Privacy-Preserving-CNN-Training-

run issue in colab

Opened this issue · 1 comments

ModuleNotFoundError: No module named 'FLPyfhelin'

!wget https://github.com/FebriantiW/Homomorphic-Encryption-and-Federated-Learning-based-Privacy-Preserving-CNN-Training-/blob/main/FLPyfhelin.py
!python FLPyfhelin.py

Traceback (most recent call last):
File "/content/FLPyfhelin.py", line 1, in
{"payload":{"allShortcutsEnabled":false,"fileTree":{"":{"items":[{"name":"Encrypted FL Main-Rel.ipynb","path":"Encrypted FL Main-Rel.ipynb","contentType":"file"},{"name":"FLPyfhelin.py","path":"FLPyfhelin.py","contentType":"file"},{"name":"README.md","path":"README.md","contentType":"file"}],"totalCount":3}},"fileTreeProcessingTime":2.387522,"foldersToFetch":[],"reducedMotionEnabled":null,"repo":{"id":500960498,"defaultBranch":"main","name":"Homomorphic-Encryption-and-Federated-Learning-based-Privacy-Preserving-CNN-Training-","ownerLogin":"FebriantiW","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2022-06-07T18:32:34.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/44945372?v=4","public":true,"private":false,"isOrgOwned":false},"symbolsExpanded":false,"treeExpanded":true,"refInfo":{"name":"main","listCacheKey":"v0:1654757988.630421","canEdit":false,"refType":"branch","currentOid":"507151add1a767bec4fbac8c67483c9db02b58d3"},"path":"FLPyfhelin.py","currentUser":null,"blob":{"rawLines":["import numpy as np","import pandas as pd","import tensorflow as tf","from tensorflow import keras","from keras.preprocessing.image import img_to_array","from sklearn.preprocessing import LabelBinarizer","from tensorflow.keras.utils import to_categorical","from sklearn.model_selection import train_test_split","#from tensorflow.keras.applications import VGG16,VGG19,ResNet50,DenseNet121,InceptionV3","from tensorflow.keras.models import Model","from keras.models import load_model","from tensorflow.keras import layers","from tensorflow.keras.optimizers import Adam","from tensorflow.keras.preprocessing.image import ImageDataGenerator","from sklearn.metrics import classification_report","from sklearn.metrics import confusion_matrix","from keras.callbacks import ModelCheckpoint","from tensorflow.keras.models import Sequential","from tensorflow.keras.layers import Dense,Conv2D,Flatten,MaxPooling2D","from tensorflow.keras.callbacks import EarlyStopping,ReduceLROnPlateau","from keras.layers import Conv2D, SeparableConv2D, MaxPool2D, LeakyReLU, Activation","from keras.layers import Input, Dense, Flatten, Dropout, BatchNormalization,AveragePooling2D","import os","from os.path import exists","from IPython.display import clear_output","from kerastuner import HyperModel","from Pyfhel import Pyfhel, PyPtxt, PyCtxt","import pickle","import time","","INIT_LR = 1e-3","EPOCHS = 10","BS = 32","SCALE= 1","input_shape = (int(256SCALE), int(256SCALE), 3)","image_size = (int(256SCALE), int(256SCALE))","","def prep_df(folder, shuffle=True):"," dataframe = []"," subdir = [sub for sub in os.scandir(folder)]"," for sub in subdir:"," if sub.is_dir() or sub.is_file():"," path = sub.path"," list_files = os.listdir(path)"," #list_files=[os.path.join(path,x) for x in list_files]"," list_files=[os.path.join(os.path.abspath(path),x) for x in list_files]"," entry = [[file,sub.name] for file in list_files]"," dataframe.extend(entry)"," "," dframe =pd.DataFrame(dataframe, columns =['Path', 'Label'])"," "," if shuffle == True:"," dframe = dframe.sample(frac=1).reset_index(drop=True)"," "," return dframe","","def get_test_data(df_test,test_path):"," "," test_data_gen = ImageDataGenerator(rescale = 1./255)"," test = test_data_gen.flow_from_dataframe("," dataframe = df_test,"," directory = test_path,"," x_col='Path', "," y_col='Label',"," target_size=image_size,"," #color_mode='grayscale',"," shuffle=False, "," class_mode='categorical',"," batch_size=BS,"," )"," return test","","def get_train_data(df_train,train_path,index, num_client):"," "," ratio = int(len(df_train.index)/num_client)"," start = index * ratio "," end = start + ratio"," df_train = df_train[start:end] "," "," image_gen = ImageDataGenerator("," rescale = 1./255,"," shear_range = 0.2,"," zoom_range = 0.2,"," horizontal_flip = True,"," validation_split = 0.1,"," )",""," train = image_gen.flow_from_dataframe("," dataframe = df_train,"," directory = train_path,"," x_col='Path', "," y_col='Label',"," subset='training',"," target_size=image_size,"," #color_mode='grayscale' "," class_mode='categorical',"," shuffle=True, "," batch_size=BS,"," )"," "," val = image_gen.flow_from_dataframe("," dataframe = df_train,"," directory = train_path,"," x_col='Path', "," y_col='Label',"," subset='validation',"," target_size=image_size,"," #color_mode='grayscale' "," class_mode='categorical',"," shuffle=True, "," batch_size=BS,"," )",""," return train,val","","","","def create_model(load_model_path=None):"," model = Sequential()"," model.add(Conv2D(32, (3, 3), activation="relu", input_shape=input_shape))"," model.add(MaxPooling2D(pool_size = (2, 2)))"," model.add(Conv2D(32, (3, 3), activation="relu", input_shape=input_shape))"," model.add(MaxPooling2D(pool_size = (2, 2)))"," model.add(Conv2D(32, (3, 3), activation="relu", input_shape=input_shape))"," model.add(MaxPooling2D(pool_size = (2, 2)))"," model.add(Conv2D(64, (3, 3), activation="relu", input_shape=input_shape))"," model.add(MaxPooling2D(pool_size = (2, 2)))"," model.add(Conv2D(64, (3, 3), activation="relu", input_shape=input_shape))"," model.add(MaxPooling2D(pool_size = (2, 2)))"," model.add(Conv2D(128, (3, 3), activation="relu", input_shape=input_shape))"," model.add(MaxPooling2D(pool_size = (2, 2)))",""," model.add(Flatten())"," model.add(Dense(activation = 'relu', units = 128))"," model.add(Dense(activation = 'relu', units = 64))"," model.add(Dense(activation = 'softmax', units = 2))"," #cnn.compile(optimizer = 'adam', loss = 'binary_crossentropy', metrics = ['accuracy'])"," "," #model.compile(optimizer = 'Adam', loss = 'categorical_crossentropy', metrics = ['accuracy'])"," opt = Adam(learning_rate=INIT_LR, decay=INIT_LR /10)"," model.compile(loss="categorical_crossentropy", optimizer=opt,metrics=["accuracy"])"," "," if load_model_path:"," model=load_model(load_model_path)",""," return model",""," ","def save_weights(model,ind):"," #names = [weight.name for layer in model.layers for weight in layer.weights]"," weights = np.array(model.get_weights(),dtype='object')"," np.save('weights/weights' + ind+ '.npy', weights, allow_pickle=True)"," return","","def load_weights(ind):"," weights=np.load('weights/weights' + ind + '.npy',allow_pickle=True)"," model=create_model()"," model.set_weights(weights)"," return model","","def train_server(train_ds,val_ds, epoch=10):"," model=create_model()"," "," early = EarlyStopping(monitor="loss", mode="min", patience=3)"," lr_red = ReduceLROnPlateau(monitor="loss", patience = 2, verbose=1,factor=0.3, min_lr=0.000001)",""," checkpoint_path = "weights/main.ckpt""," checkpoint_dir = os.path.dirname(checkpoint_path)"," checkpoint = ModelCheckpoint(filepath=checkpoint_path,save_weights_only=True,save_best_only=True, verbose=1,monitor='accuracy', mode='auto')",""," callbacks_list = [early, lr_red,checkpoint]"," model.fit(train_ds, validation_data=val_ds, epochs=epoch, callbacks=callbacks_list)"," model.load_weights(checkpoint_path)"," save_weights(model,'main')"," model.save('main_model.hdf5')",""," return","","def train_clients(dataframe, train_path, num_clients, epoch=10):"," model=create_model('main_model.hdf5')"," "," #dataframe = prep_df(train_path,shuffle=True):"," "," for i in range(num_clients): "," train_ds, val_ds = get_train_data(dataframe, train_path, i, num_clients)"," early = EarlyStopping(monitor="loss", mode="min", patience=5,restore_best_weights=True)"," lr_red = ReduceLROnPlateau(monitor="loss", patience = 2, verbose=1,factor=0.3, min_lr=0.000001)"," "," checkpoint_path = "weights/client_" + str(i+1)+ ".ckpt""," checkpoint_dir = os.path.dirname(checkpoint_path)"," checkpoint = ModelCheckpoint(filepath=checkpoint_path,save_weights_only=True,save_best_only=True, verbose=1,monitor='accuracy', mode='auto')"," #model.fit(train_ds, validation_data=val_ds, callbacks=[checkpoint], epochs=EPOCHS)"," model.fit(train_ds, validation_data=val_ds, callbacks=[checkpoint,early,lr_red], epochs=epoch)"," #model.load_weights(checkpoint_path)"," "," save_weights(model,str(i+1))"," "," return","","def encrypt_export_weights(indx):"," HE = get_pk()"," model = load_weights(str(indx+1))"," start = time.time()"," encrypted_weights={}"," for i in range(len(model.layers)):"," if model.layers[i].get_weights()!=[]:"," encrypted =[]"," weights = model.layers[i].get_weights() ",""," for j in range(len(weights)):"," weight = weights[j]"," shape = weight.shape"," weight = weight.flatten()"," array= np.empty(len(weight),dtype=PyCtxt)"," "," for k in np.arange(len(weight)):"," array[k] = HE.encryptFrac(weight[k])"," "," enc_array = array.reshape(shape)"," #enc_array = np.array(enc_array,dtype=PyCtxt)"," encrypted_weights['c_'+str(i)+''+str(j)]=enc_array"," "," end = time.time()"," print('Time to encrypt weights:',end-start)"," filename = "weights/client" + str(indx+1)+ ".pickle""," export_weights(filename, encrypted_weights)"," "," return","","def export_weights(filename, encrypted_weights):"," HE = get_pk()"," dic = {}"," dic['key']=HE"," dic['val']=encrypted_weights"," start = time.time()"," with open(filename, 'wb') as handle:"," pickle.dump(dic, handle, protocol=pickle.HIGHEST_PROTOCOL)"," end = time.time()"," print('Time to export weights to pickle:',end-start)"," return","","def export_encrypted_clients_weights(num_client):"," start = time.time()"," for i in range(num_client):"," encrypt_export_weights(i)"," print('Weights exported: Client',i+1)"," end = time.time()"," print('Total time to encrypt and export:',end-start)"," return","","def get_sk():"," filename = "privatekey.pickle""," with open(filename, 'rb') as handle:"," key = pickle.load(handle)"," "," HE = key['HE']"," HE.from_bytes_context(key['con'])"," HE.from_bytes_publicKey(key['pk'])"," HE.from_bytes_secretKey(key['sk'])"," "," return HE","","def decrypt_import_weights(filename):"," start = time.time()"," dec_weights=decrypt_weights(filename)"," end = time.time()"," print('Time to decrypt:',end-start)"," "," model=create_model('main_model.hdf5')"," model.get_weights()"," for i in range(len(model.layers)):"," if model.layers[i].get_weights()!=[]: "," weights = model.layers[i].get_weights()"," weight=[]"," for j in range(len(weights)):"," weight.append(dec_weights['c_'+str(i)+''+str(j)])"," "," model.layers[i].set_weights(weight)"," "," model.save('agg_model.hdf5')"," return model","","def decrypt_weights(filename):"," HE = get_sk()"," enc_weights={}"," dec_weights={}"," enc_weights=import_encrypted_weights(filename)"," "," for key in enc_weights:"," arr = enc_weights[key]"," shape = arr.shape"," weight = arr.flatten()"," "," for l in range(len(weight)):"," weight[l]= HE.decryptFrac(weight[l])",""," dec_array = weight.reshape(shape)"," dec_weights[key] = dec_array",""," return dec_weights","","","def import_encrypted_weights(filename):"," weights={}"," model = create_model()"," start = time.time()"," #filename = "weights/client" + str(indx+1)+ ".pickle""," with open(filename, 'rb') as handle:"," dct = pickle.load(handle)",""," cweights=dct['val']"," HE2 = dct['key']"," enc_weights={}",""," for key in cweights:"," arr = cweights[key]"," shape = arr.shape"," weight = arr.flatten()",""," for l in np.arange(len(weight)):"," weight[l].pyfhel = HE2",""," enc_array = weight.reshape(shape)"," enc_weights[key] = enc_array"," "," end = time.time()"," print('Time to import:',end-start) "," return enc_weights","","def gen_pk(s=128, m=2048):"," HE = Pyfhel() "," HE.contextGen(p=65537, sec = s, m=m)"," HE.keyGen()"," "," keys ={}"," keys['HE'] = HE"," keys['con'] = HE.to_bytes_context()"," keys['pk'] = HE.to_bytes_publicKey()"," "," filename = "publickey.pickle""," with open(filename, 'wb') as handle:"," pickle.dump(keys, handle, protocol=pickle.HIGHEST_PROTOCOL)",""," return HE","","def get_pk():"," filename = "publickey.pickle""," with open(filename, 'rb') as handle:"," key = pickle.load(handle)",""," HE2 = key['HE']"," HE2.from_bytes_context(key['con'])"," HE2.from_bytes_publicKey(key['pk'])",""," return HE2","","def gen_rekey():"," filename = "publickey.pickle""," with open(filename, 'rb') as handle:"," key = pickle.load(handle)"," "," relinKeySize=5"," HE.relinKeyGen(bitCount=1, size=relinKeySize)"," return HE","","def aggregate_encrypted_weights(num_client):"," dct_weights ={}"," denom = float(1/num_client)"," start = time.time()"," HE = get_pk()"," c_denom = HE.encryptFrac(denom)"," for i in range(num_client):"," enc_weights={}"," filename = "weights/client" + str(i+1)+ ".pickle""," enc_weights =import_encrypted_weights(filename)"," "," for key in enc_weights:"," if i == 0:"," arr = enc_weights[key]"," dct_weights[key] = np.zeros_like(arr,dtype=PyCtxt)"," dct_weights[key] = enc_weights[key] + dct_weights[key]"," #print('unencrypted f ',i, HE.decryptFrac(dct_weights['c_0_0'][0][0][0][0] ))"," "," for key in dct_weights:"," dct_weights[key]= dct_weights[key]*denom #c_denom"," #print(dct_weights[key].size())"," "," end = time.time()"," print('Time to aggregate:',end-start) "," return dct_weights"],"stylingDirectives":[[{"start":0,"end":6,"cssClass":"pl-k"},{"start":7,"end":12,"cssClass":"pl-s1"},{"start":13,"end":15,"cssClass":"pl-k"},{"start":16,"end":18,"cssClass":"pl-s1"}],[{"start":0,"end":6,"cssClass":"pl-k"},{"start":7,"end":13,"cssClass":"pl-s1"},{"start":14,"end":16,"cssClass":"pl-k"},{"start":17,"end":19,"cssClass":"pl-s1"}],[{"start":0,"end":6,"cssClass":"pl-k"},{"start":7,"end":17,"cssClass":"pl-s1"},{"start":18,"end":20,"cssClass":"pl-k"},{"start":21,"end":23,"cssClass":"pl-s1"}],[{"start":0,"end":4,"cssClass":"pl-k"},{"start":5,"end":15,"cssClass":"pl-s1"},{"start":16,"end":22,"cssClass":"pl-k"},{"start":23,"end":28,"cssClass":"pl-s1"}],[{"start":0,"end":4,"cssClass":"pl-k"},{"start":5,"end":10,"cssClass":"pl-s1"},{"start":11,"end":24,"cssClass":"pl-s1"},{"start":25,"end":30,"cssClass":"pl-s1"},{"start":31,"end":37,"cssClass":"pl-k"},{"start":38,"end":50,"cssClass":"pl-s1"}],[{"start":0,"end":4,"cssClass":"pl-k"},{"start":5,"end":12,"cssClass":"pl-s1"},{"start":13,"end":26,"cssClass":"pl-s1"},{"start":27,"end":33,"cssClass":"pl-k"},{"start":34,"end":48,"cssClass":"pl-v"}],[{"start":0,"end":4,"cssClass":"pl-k"},{"start":5,"end":15,"cssClass":"pl-s1"},{"start":16,"end":21,"cssClass":"pl-s1"},{"start":22,"end":27,"cssClass":"pl-s1"},{"start":28,"end":34,"cssClass":"pl-k"},{"start":35,"end":49,"cssClass":"pl-s1"}],[{"start":0,"end":4,"cssClass":"pl-k"},{"start":5,"end":12,"cssClass":"pl-s1"},{"start":13,"end":28,"cssClass":"pl-s1"},{"start":29,"end":35,"cssClass":"pl-k"},{"start":36,"end":52,"cssClass":"pl-s1"}],[{"start":0,"end":87,"cssClass":"pl-c"}],[{"start":0,"end":4,"cssClass":"pl-k"},{"start":5,"end":15,"cssClass":"pl-s1"},{"start":16,"end":21,"cssClass":"pl-s1"},{"start":22,"end":28,"cssClass":"pl-s1"},{"start":29,"end":35,"cssClass":"pl-k"},{"start":36,"end":41,"cssClass":"pl-v"}],[{"start":0,"end":4,"cssClass":"pl-k"},{"start":5,"end":10,"cssClass":"pl-s1"},{"start":11,"end":17,"cssClass":"pl-s1"},{"start":18,"end":24,"cssClass":"pl-k"},{"start":25,"end":35,"cssClass":"pl-s1"}],[{"start":0,"end":4,"cssClass":"pl-k"},{"start":5,"end":15,"cssClass":"pl-s1"},{"start":16,"end":21,"cssClass":"pl-s1"},{"start":22,"end":28,"cssClass":"pl-k"},{"start":29,"end":35,"cssClass":"pl-s1"}],[{"start":0,"end":4,"cssClass":"pl-k"},{"start":5,"end":15,"cssClass":"pl-s1"},{"start":16,"end":21,"cssClass":"pl-s1"},{"start":22,"end":32,"cssClass":"pl-s1"},{"start":33,"end":39,"cssClass":"pl-k"},{"start":40,"end":44,"cssClass":"pl-v"}],[{"start":0,"end":4,"cssClass":"pl-k"},{"start":5,"end":15,"cssClass":"pl-s1"},{"start":16,"end":21,"cssClass":"pl-s1"},{"start":22,"end":35,"cssClass":"pl-s1"},{"start":36,"end":41,"cssClass":"pl-s1"},{"start":42,"end":48,"cssClass":"pl-k"},{"start":49,"end":67,"cssClass":"pl-v"}],[{"start":0,"end":4,"cssClass":"pl-k"},{"start":5,"end":12,"cssClass":"pl-s1"},{"start":13,"end":20,"cssClass":"pl-s1"},{"start":21,"end":27,"cssClass":"pl-k"},{"start":28,"end":49,"cssClass":"pl-s1"}],[{"start":0,"end":4,"cssClass":"pl-k"},{"start":5,"end":12,"cssClass":"pl-s1"},{"start":13,"end":20,"cssClass":"pl-s1"},{"start":21,"end":27,"cssClass":"pl-k"},{"start":28,"end":44,"cssClass":"pl-s1"}],[{"start":0,"end":4,"cssClass":"pl-k"},{"start":5,"end":10,"cssClass":"pl-s1"},{"start":11,"end":20,"cssClass":"pl-s1"},{"start":21,"end":27,"cssClass":"pl-k"},{"start":28,"end":43,"cssClass":"pl-v"}],[{"start":0,"end":4,"cssClass":"pl-k"},{"start":5,"end":15,"cssClass":"pl-s1"},{"start":16,"end":21,"cssClass":"pl-s1"},{"start":22,"end":28,"cssClass":"pl-s1"},{"start":29,"end":35,"cssClass":"pl-k"},{"start":36,"end":46,"cssClass":"pl-v"}],[{"start":0,"end":4,"cssClass":"pl-k"},{"start":5,"end":15,"cssClass":"pl-s1"},{"start":16,"end":21,"cssClass":"pl-s1"},{"start":22,"end":28,"cssClass":"pl-s1"},{"start":29,"end":35,"cssClass":"pl-k"},{"start":36,"end":41,"cssClass":"pl-v"},{"start":42,"end":48,"cssClass":"pl-v"},{"start":49,"end":56,"cssClass":"pl-v"},{"start":57,"end":69,"cssClass":"pl-v"}],[{"start":0,"end":4,"cssClass":"pl-k"},{"start":5,"end":15,"cssClass":"pl-s1"},{"start":16,"end":21,"cssClass":"pl-s1"},{"start":22,"end":31,"cssClass":"pl-s1"},{"start":32,"end":38,"cssClass":"pl-k"},{"start":39,"end":52,"cssClass":"pl-v"},{"start":53,"end":70,"cssClass":"pl-v"}],[{"start":0,"end":4,"cssClass":"pl-k"},{"start":5,"end":10,"cssClass":"pl-s1"},{"start":11,"end":17,"cssClass":"pl-s1"},{"start":18,"end":24,"cssClass":"pl-k"},{"start":25,"end":31,"cssClass":"pl-v"},{"start":33,"end":48,"cssClass":"pl-v"},{"start":50,"end":59,"cssClass":"pl-v"},{"start":61,"end":70,"cssClass":"pl-v"},{"start":72,"end":82,"cssClass":"pl-v"}],[{"start":0,"end":4,"cssClass":"pl-k"},{"start":5,"end":10,"cssClass":"pl-s1"},{"start":11,"end":17,"cssClass":"pl-s1"},{"start":18,"end":24,"cssClass":"pl-k"},{"start":25,"end":30,"cssClass":"pl-v"},{"start":32,"end":37,"cssClass":"pl-v"},{"start":39,"end":46,"cssClass":"pl-v"},{"start":48,"end":55,"cssClass":"pl-v"},{"start":57,"end":75,"cssClass":"pl-v"},{"start":76,"end":92,"cssClass":"pl-v"}],[{"start":0,"end":6,"cssClass":"pl-k"},{"start":7,"end":9,"cssClass":"pl-s1"}],[{"start":0,"end":4,"cssClass":"pl-k"},{"start":5,"end":7,"cssClass":"pl-s1"},{"start":8,"end":12,"cssClass":"pl-s1"},{"start":13,"end":19,"cssClass":"pl-k"},{"start":20,"end":26,"cssClass":"pl-s1"}],[{"start":0,"end":4,"cssClass":"pl-k"},{"start":5,"end":12,"cssClass":"pl-v"},{"start":13,"end":20,"cssClass":"pl-s1"},{"start":21,"end":27,"cssClass":"pl-k"},{"start":28,"end":40,"cssClass":"pl-s1"}],[{"start":0,"end":4,"cssClass":"pl-k"},{"start":5,"end":15,"cssClass":"pl-s1"},{"start":16,"end":22,"cssClass":"pl-k"},{"start":23,"end":33,"cssClass":"pl-v"}],[{"start":0,"end":4,"cssClass":"pl-k"},{"start":5,"end":11,"cssClass":"pl-v"},{"start":12,"end":18,"cssClass":"pl-k"},{"start":19,"end":25,"cssClass":"pl-v"},{"start":27,"end":33,"cssClass":"pl-v"},{"start":35,"end":41,"cssClass":"pl-v"}],[{"start":0,"end":6,"cssClass":"pl-k"},{"start":7,"end":13,"cssClass":"pl-s1"}],[{"start":0,"end":6,"cssClass":"pl-k"},{"start":7,"end":11,"cssClass":"pl-s1"}],[],[{"start":0,"end":7,"cssClass":"pl-v"},{"start":8,"end":9,"cssClass":"pl-c1"},{"start":10,"end":14,"cssClass":"pl-c1"}],[{"start":0,"end":6,"cssClass":"pl-v"},{"start":7,"end":8,"cssClass":"pl-c1"},{"start":9,"end":11,"cssClass":"pl-c1"}],[{"start":0,"end":2,"cssClass":"pl-v"},{"start":3,"end":4,"cssClass":"pl-c1"},{"start":5,"end":7,"cssClass":"pl-c1"}],[{"start":0,"end":5,"cssClass":"pl-v"},{"start":5,"end":6,"cssClass":"pl-c1"},{"start":7,"end":8,"cssClass":"pl-c1"}],[{"start":0,"end":11,"cssClass":"pl-s1"},{"start":13,"end":14,"cssClass":"pl-c1"},{"start":16,"end":19,"cssClass":"pl-en"},{"start":20,"end":23,"cssClass":"pl-c1"},{"start":23,"end":24,"cssClass":"pl-c1"},{"start":24,"end":29,"cssClass":"pl-v"},{"start":32,"end":35,"cssClass":"pl-en"},{"start":36,"end":39,"cssClass":"pl-c1"},{"start":39,"end":40,"cssClass":"pl-c1"},{"start":40,"end":45,"cssClass":"pl-v"},{"start":48,"end":49,"cssClass":"pl-c1"}],[{"start":0,"end":10,"cssClass":"pl-s1"},{"start":12,"end":13,"cssClass":"pl-c1"},{"start":15,"end":18,"cssClass":"pl-en"},{"start":19,"end":22,"cssClass":"pl-c1"},{"start":22,"end":23,"cssClass":"pl-c1"},{"start":23,"end":28,"cssClass":"pl-v"},{"start":31,"end":34,"cssClass":"pl-en"},{"start":35,"end":38,"cssClass":"pl-c1"},{"start":38,"end":39,"cssClass":"pl-c1"},{"start":39,"end":44,"cssClass":"pl-v"}],[],[{"start":0,"end":3,"cssClass":"pl-k"},{"start":4,"end":11,"cssClass":"pl-en"},{"start":12,"end":18,"cssClass":"pl-s1"},{"start":20,"end":27,"cssClass":"pl-s1"},{"start":27,"end":28,"cssClass":"pl-c1"},{"start":28,"end":32,"cssClass":"pl-c1"}],[{"start":4,"end":13,"cssClass":"pl-s1"},{"start":14,"end":15,"cssClass":"pl-c1"}],[{"start":4,"end":10,"cssClass":"pl-s1"},{"start":11,"end":12,"cssClass":"pl-c1"},{"start":14,"end":17,"cssClass":"pl-s1"},{"start":18,"end":21,"cssClass":"pl-k"},{"start":22,"end":25,"cssClass":"pl-s1"},{"start":26,"end":28,"cssClass":"pl-c1"},{"start":29,"end":31,"cssClass":"pl-s1"},{"start":32,"end":39,"cssClass":"pl-en"},{"start":40,"end":46,"cssClass":"pl-s1"}],[{"start":4,"end":7,"cssClass":"pl-k"},{"start":8,"end":11,"cssClass":"pl-s1"},{"start":12,"end":14,"cssClass":"pl-c1"},{"start":15,"end":21,"cssClass":"pl-s1"}],[{"start":8,"end":10,"cssClass":"pl-k"},{"start":11,"end":14,"cssClass":"pl-s1"},{"start":15,"end":21,"cssClass":"pl-en"},{"start":24,"end":26,"cssClass":"pl-c1"},{"start":27,"end":30,"cssClass":"pl-s1"},{"start":31,"end":38,"cssClass":"pl-en"}],[{"start":12,"end":16,"cssClass":"pl-s1"},{"start":17,"end":18,"cssClass":"pl-c1"},{"start":19,"end":22,"cssClass":"pl-s1"},{"start":23,"end":27,"cssClass":"pl-s1"}],[{"start":12,"end":22,"cssClass":"pl-s1"},{"start":23,"end":24,"cssClass":"pl-c1"},{"start":25,"end":27,"cssClass":"pl-s1"},{"start":28,"end":35,"cssClass":"pl-en"},{"start":36,"end":40,"cssClass":"pl-s1"}],[{"start":12,"end":66,"cssClass":"pl-c"}],[{"start":12,"end":22,"cssClass":"pl-s1"},{"start":22,"end":23,"cssClass":"pl-c1"},{"start":24,"end":26,"cssClass":"pl-s1"},{"start":27,"end":31,"cssClass":"pl-s1"},{"start":32,"end":36,"cssClass":"pl-en"},{"start":37,"end":39,"cssClass":"pl-s1"},{"start":40,"end":44,"cssClass":"pl-s1"},{"start":45,"end":52,"cssClass":"pl-en"},{"start":53,"end":57,"cssClass":"pl-s1"},{"start":59,"end":60,"cssClass":"pl-s1"},{"start":62,"end":65,"cssClass":"pl-k"},{"start":66,"end":67,"cssClass":"pl-s1"},{"start":68,"end":70,"cssClass":"pl-c1"},{"start":71,"end":81,"cssClass":"pl-s1"}],[{"start":12,"end":17,"cssClass":"pl-s1"},{"start":18,"end":19,"cssClass":"pl-c1"},{"start":22,"end":26,"cssClass":"pl-s1"},{"start":27,"end":30,"cssClass":"pl-s1"},{"start":31,"end":35,"cssClass":"pl-s1"},{"start":37,"end":40,"cssClass":"pl-k"},{"start":41,"end":45,"cssClass":"pl-s1"},{"start":46,"end":48,"cssClass":"pl-c1"},{"start":49,"end":59,"cssClass":"pl-s1"}],[{"start":12,"end":21,"cssClass":"pl-s1"},{"start":22,"end":28,"cssClass":"pl-en"},{"start":29,"end":34,"cssClass":"pl-s1"}],[],[{"start":4,"end":10,"cssClass":"pl-s1"},{"start":11,"end":12,"cssClass":"pl-c1"},{"start":12,"end":14,"cssClass":"pl-s1"},{"start":15,"end":24,"cssClass":"pl-v"},{"start":25,"end":34,"cssClass":"pl-s1"},{"start":36,"end":43,"cssClass":"pl-s1"},{"start":44,"end":45,"cssClass":"pl-c1"},{"start":46,"end":52,"cssClass":"pl-s"},{"start":54,"end":61,"cssClass":"pl-s"}],[],[{"start":4,"end":6,"cssClass":"pl-k"},{"start":7,"end":14,"cssClass":"pl-s1"},{"start":15,"end":17,"cssClass":"pl-c1"},{"start":18,"end":22,"cssClass":"pl-c1"}],[{"start":8,"end":14,"cssClass":"pl-s1"},{"start":15,"end":16,"cssClass":"pl-c1"},{"start":17,"end":23,"cssClass":"pl-s1"},{"start":24,"end":30,"cssClass":"pl-en"},{"start":31,"end":35,"cssClass":"pl-s1"},{"start":35,"end":36,"cssClass":"pl-c1"},{"start":36,"end":37,"cssClass":"pl-c1"},{"start":39,"end":50,"cssClass":"pl-en"},{"start":51,"end":55,"cssClass":"pl-s1"},{"start":55,"end":56,"cssClass":"pl-c1"},{"start":56,"end":60,"cssClass":"pl-c1"}],[],[{"start":4,"end":10,"cssClass":"pl-k"},{"start":11,"end":17,"cssClass":"pl-s1"}],[],[{"start":0,"end":3,"cssClass":"pl-k"},{"start":4,"end":17,"cssClass":"pl-en"},{"start":18,"end":25,"cssClass":"pl-s1"},{"start":26,"end":35,"cssClass":"pl-s1"}],[],[{"start":4,"end":17,"cssClass":"pl-s1"},{"start":18,"end":19,"cssClass":"pl-c1"},{"start":20,"end":38,"cssClass":"pl-v"},{"start":39,"end":46,"cssClass":"pl-s1"},{"start":47,"end":48,"cssClass":"pl-c1"},{"start":49,"end":51,"cssClass":"pl-c1"},{"start":51,"end":52,"cssClass":"pl-c1"},{"start":52,"end":55,"cssClass":"pl-c1"}],[{"start":4,"end":8,"cssClass":"pl-s1"},{"start":9,"end":10,"cssClass":"pl-c1"},{"start":11,"end":24,"cssClass":"pl-s1"},{"start":25,"end":44,"cssClass":"pl-en"}],[{"start":6,"end":15,"cssClass":"pl-s1"},{"start":16,"end":17,"cssClass":"pl-c1"},{"start":18,"end":25,"cssClass":"pl-s1"}],[{"start":6,"end":15,"cssClass":"pl-s1"},{"start":16,"end":17,"cssClass":"pl-c1"},{"start":18,"end":27,"cssClass":"pl-s1"}],[{"start":6,"end":11,"cssClass":"pl-s1"},{"start":11,"end":12,"cssClass":"pl-c1"},{"start":12,"end":18,"cssClass":"pl-s"}],[{"start":6,"end":11,"cssClass":"pl-s1"},{"start":11,"end":12,"cssClass":"pl-c1"},{"start":12,"end":19,"cssClass":"pl-s"}],[{"start":6,"end":17,"cssClass":"pl-s1"},{"start":17,"end":18,"cssClass":"pl-c1"},{"start":18,"end":28,"cssClass":"pl-s1"}],[{"start":6,"end":30,"cssClass":"pl-c"}],[{"start":6,"end":13,"cssClass":"pl-s1"},{"start":13,"end":14,"cssClass":"pl-c1"},{"start":14,"end":19,"cssClass":"pl-c1"}],[{"start":6,"end":16,"cssClass":"pl-s1"},{"start":16,"end":17,"cssClass":"pl-c1"},{"start":17,"end":30,"cssClass":"pl-s"}],[{"start":6,"end":16,"cssClass":"pl-s1"},{"start":16,"end":17,"cssClass":"pl-c1"},{"start":17,"end":19,"cssClass":"pl-v"}],[],[{"start":4,"end":10,"cssClass":"pl-k"},{"start":11,"end":15,"cssClass":"pl-s1"}],[],[{"start":0,"end":3,"cssClass":"pl-k"},{"start":4,"end":18,"cssClass":"pl-en"},{"start":19,"end":27,"cssClass":"pl-s1"},{"start":28,"end":38,"cssClass":"pl-s1"},{"start":39,"end":44,"cssClass":"pl-s1"},{"start":46,"end":56,"cssClass":"pl-s1"}],[],[{"start":4,"end":9,"cssClass":"pl-s1"},{"start":10,"end":11,"cssClass":"pl-c1"},{"start":12,"end":15,"cssClass":"pl-en"},{"start":16,"end":19,"cssClass":"pl-en"},{"start":20,"end":28,"cssClass":"pl-s1"},{"start":29,"end":34,"cssClass":"pl-s1"},{"start":35,"end":36,"cssClass":"pl-c1"},{"start":36,"end":46,"cssClass":"pl-s1"}],[{"start":4,"end":9,"cssClass":"pl-s1"},{"start":10,"end":11,"cssClass":"pl-c1"},{"start":12,"end":17,"cssClass":"pl-s1"},{"start":18,"end":19,"cssClass":"pl-c1"},{"start":20,"end":25,"cssClass":"pl-s1"}],[{"start":4,"end":7,"cssClass":"pl-s1"},{"start":8,"end":9,"cssClass":"pl-c1"},{"start":10,"end":15,"cssClass":"pl-s1"},{"start":16,"end":17,"cssClass":"pl-c1"},{"start":18,"end":23,"cssClass":"pl-s1"}],[{"start":4,"end":12,"cssClass":"pl-s1"},{"start":13,"end":14,"cssClass":"pl-c1"},{"start":15,"end":23,"cssClass":"pl-s1"},{"start":24,"end":29,"cssClass":"pl-s1"},{"start":30,"end":33,"cssClass":"pl-s1"}],[],[{"start":4,"end":13,"cssClass":"pl-s1"},{"start":14,"end":15,"cssClass":"pl-c1"},{"start":16,"end":34,"cssClass":"pl-v"}],[{"start":16,"end":23,"cssClass":"pl-s1"},{"start":24,"end":25,"cssClass":"pl-c1"},{"start":26,"end":28,"cssClass":"pl-c1"},{"start":28,"end":29,"cssClass":"pl-c1"},{"start":29,"end":32,"cssClass":"pl-c1"}],[{"start":16,"end":27,"cssClass":"pl-s1"},{"start":28,"end":29,"cssClass":"pl-c1"},{"start":30,"end":33,"cssClass":"pl-c1"}],[{"start":16,"end":26,"cssClass":"pl-s1"},{"start":27,"end":28,"cssClass":"pl-c1"},{"start":29,"end":32,"cssClass":"pl-c1"}],[{"start":16,"end":31,"cssClass":"pl-s1"},{"start":32,"end":33,"cssClass":"pl-c1"},{"start":34,"end":38,"cssClass":"pl-c1"}],[{"start":16,"end":32,"cssClass":"pl-s1"},{"start":33,"end":34,"cssClass":"pl-c1"},{"start":35,"end":38,"cssClass":"pl-c1"}],[],[],[{"start":4,"end":9,"cssClass":"pl-s1"},{"start":10,"end":11,"cssClass":"pl-c1"},{"start":12,"end":21,"cssClass":"pl-s1"},{"start":22,"end":41,"cssClass":"pl-en"}],[{"start":6,"end":15,"cssClass":"pl-s1"},{"start":16,"end":17,"cssClass":"pl-c1"},{"start":18,"end":26,"cssClass":"pl-s1"}],[{"start":6,"end":15,"cssClass":"pl-s1"},{"start":16,"end":17,"cssClass":"pl-c1"},{"start":18,"end":28,"cssClass":"pl-s1"}],[{"start":6,"end":11,"cssClass":"pl-s1"},{"start":11,"end":12,"cssClass":"pl-c1"},{"start":12,"end":18,"cssClass":"pl-s"}],[{"start":6,"end":11,"cssClass":"pl-s1"},{"start":11,"end":12,"cssClass":"pl-c1"},{"start":12,"end":19,"cssClass":"pl-s"}],[{"start":6,"end":12,"cssClass":"pl-s1"},{"start":12,"end":13,"cssClass":"pl-c1"},{"start":13,"end":23,"cssClass":"pl-s"}],[{"start":6,"end":17,"cssClass":"pl-s1"},{"start":17,"end":18,"cssClass":"pl-c1"},{"start":18,"end":28,"cssClass":"pl-s1"}],[{"start":6,"end":37,"cssClass":"pl-c"}],[{"start":6,"end":16,"cssClass":"pl-s1"},{"start":16,"end":17,"cssClass":"pl-c1"},{"start":17,"end":30,"cssClass":"pl-s"}],[{"start":6,"end":13,"cssClass":"pl-s1"},{"start":13,"end":14,"cssClass":"pl-c1"},{"start":14,"end":18,"cssClass":"pl-c1"}],[{"start":6,"end":16,"cssClass":"pl-s1"},{"start":16,"end":17,"cssClass":"pl-c1"},{"start":17,"end":19,"cssClass":"pl-v"}],[],[],[{"start":4,"end":7,"cssClass":"pl-s1"},{"start":8,"end":9,"cssClass":"pl-c1"},{"start":10,"end":19,"cssClass":"pl-s1"},{"start":20,"end":39,"cssClass":"pl-en"}],[{"start":6,"end":15,"cssClass":"pl-s1"},{"start":16,"end":17,"cssClass":"pl-c1"},{"start":18,"end":26,"cssClass":"pl-s1"}],[{"start":6,"end":15,"cssClass":"pl-s1"},{"start":16,"end":17,"cssClass":"pl-c1"},{"start":18,"end":28,"cssClass":"pl-s1"}],[{"start":6,"end":11,"cssClass":"pl-s1"},{"start":11,"end":12,"cssClass":"pl-c1"},{"start":12,"end":18,"cssClass":"pl-s"}],[{"start":6,"end":11,"cssClass":"pl-s1"},{"start":11,"end":12,"cssClass":"pl-c1"},{"start":12,"end":19,"cssClass":"pl-s"}],[{"start":6,"end":12,"cssClass":"pl-s1"},{"start":12,"end":13,"cssClass":"pl-c1"},{"start":13,"end":25,"cssClass":"pl-s"}],[{"start":6,"end":17,"cssClass":"pl-s1"},{"start":17,"end":18,"cssClass":"pl-c1"},{"start":18,"end":28,"cssClass":"pl-s1"}],[{"start":6,"end":37,"cssClass":"pl-c"}],[{"start":6,"end":16,"cssClass":"pl-s1"},{"start":16,"end":17,"cssClass":"pl-c1"},{"start":17,"end":30,"cssClass":"pl-s"}],[{"start":6,"end":13,"cssClass":"pl-s1"},{"start":13,"end":14,"cssClass":"pl-c1"},{"start":14,"end":18,"cssClass":"pl-c1"}],[{"start":6,"end":16,"cssClass":"pl-s1"},{"start":16,"end":17,"cssClass":"pl-c1"},{"start":17,"end":19,"cssClass":"pl-v"}],[],[],[{"start":4,"end":10,"cssClass":"pl-k"},{"start":11,"end":16,"cssClass":"pl-s1"},{"start":17,"end":20,"cssClass":"pl-s1"}],[],[],[],[{"start":0,"end":3,"cssClass":"pl-k"},{"start":4,"end":16,"cssClass":"pl-en"},{"start":17,"end":32,"cssClass":"pl-s1"},{"start":32,"end":33,"cssClass":"pl-c1"},{"start":33,"end":37,"cssClass":"pl-c1"}],[{"start":4,"end":9,"cssClass":"pl-s1"},{"start":10,"end":11,"cssClass":"pl-c1"},{"start":12,"end":22,"cssClass":"pl-v"}],[{"start":4,"end":9,"cssClass":"pl-s1"},{"start":10,"end":13,"cssClass":"pl-en"},{"start":14,"end":20,"cssClass":"pl-v"},{"start":21,"end":23,"cssClass":"pl-c1"},{"start":26,"end":27,"cssClass":"pl-c1"},{"start":29,"end":30,"cssClass":"pl-c1"},{"start":33,"end":43,"cssClass":"pl-s1"},{"start":43,"end":44,"cssClass":"pl-c1"},{"start":44,"end":50,"cssClass":"pl-s"},{"start":52,"end":63,"cssClass":"pl-s1"},{"start":63,"end":64,"cssClass":"pl-c1"},{"start":64,"end":75,"cssClass":"pl-s1"}],[{"start":4,"end":9,"cssClass":"pl-s1"},{"start":10,"end":13,"cssClass":"pl-en"},{"start":14,"end":26,"cssClass":"pl-v"},{"start":27,"end":36,"cssClass":"pl-s1"},{"start":37,"end":38,"cssClass":"pl-c1"},{"start":40,"end":41,"cssClass":"pl-c1"},{"start":43,"end":44,"cssClass":"pl-c1"}],[{"start":4,"end":9,"cssClass":"pl-s1"},{"start":10,"end":13,"cssClass":"pl-en"},{"start":14,"end":20,"cssClass":"pl-v"},{"start":21,"end":23,"cssClass":"pl-c1"},{"start":26,"end":27,"cssClass":"pl-c1"},{"start":29,"end":30,"cssClass":"pl-c1"},{"start":33,"end":43,"cssClass":"pl-s1"},{"start":43,"end":44,"cssClass":"pl-c1"},{"start":44,"end":50,"cssClass":"pl-s"},{"start":52,"end":63,"cssClass":"pl-s1"},{"start":63,"end":64,"cssClass":"pl-c1"},{"start":64,"end":75,"cssClass":"pl-s1"}],[{"start":4,"end":9,"cssClass":"pl-s1"},{"start":10,"end":13,"cssClass":"pl-en"},{"start":14,"end":26,"cssClass":"pl-v"},{"start":27,"end":36,"cssClass":"pl-s1"},{"start":37,"end":38,"cssClass":"pl-c1"},{"start":40,"end":41,"cssClass":"pl-c1"},{"start":43,"end":44,"cssClass":"pl-c1"}],[{"start":4,"end":9,"cssClass":"pl-s1"},{"start":10,"end":13,"cssClass":"pl-en"},{"start":14,"end":20,"cssClass":"pl-v"},{"start":21,"end":23,"cssClass":"pl-c1"},{"start":26,"end":27,"cssClass":"pl-c1"},{"start":29,"end":30,"cssClass":"pl-c1"},{"start":33,"end":43,"cssClass":"pl-s1"},{"start":43,"end":44,"cssClass":"pl-c1"},{"start":44,"end":50,"cssClass":"pl-s"},{"start":52,"end":63,"cssClass":"pl-s1"},{"start":63,"end":64,"cssClass":"pl-c1"},{"start":64,"end":75,"cssClass":"pl-s1"}],[{"start":4,"end":9,"cssClass":"pl-s1"},{"start":10,"end":13,"cssClass":"pl-en"},{"start":14,"end":26,"cssClass":"pl-v"},{"start":27,"end":36,"cssClass":"pl-s1"},{"start":37,"end":38,"cssClass":"pl-c1"},{"start":40,"end":41,"cssClass":"pl-c1"},{"start":43,"end":44,"cssClass":"pl-c1"}],[{"start":4,"end":9,"cssClass":"pl-s1"},{"start":10,"end":13,"cssClass":"pl-en"},{"start":14,"end":20,"cssClass":"pl-v"},{"start":21,"end":23,"cssClass":"pl-c1"},{"start":26,"end":27,"cssClass":"pl-c1"},{"start":29,"end":30,"cssClass":"pl-c1"},{"start":33,"end":43,"cssClass":"pl-s1"},{"start":43,"end":44,"cssClass":"pl-c1"},{"start":44,"end":50,"cssClass":"pl-s"},{"start":52,"end":63,"cssClass":"pl-s1"},{"start":63,"end":64,"cssClass":"pl-c1"},{"start":64,"end":75,"cssClass":"pl-s1"}],[{"start":4,"end":9,"cssClass":"pl-s1"},{"start":10,"end":13,"cssClass":"pl-en"},{"start":14,"end":26,"cssClass":"pl-v"},{"start":27,"end":36,"cssClass":"pl-s1"},{"start":37,"end":38,"cssClass":"pl-c1"},{"start":40,"end":41,"cssClass":"pl-c1"},{"start":43,"end":44,"cssClass":"pl-c1"}],[{"start":4,"end":9,"cssClass":"pl-s1"},{"start":10,"end":13,"cssClass":"pl-en"},{"start":14,"end":20,"cssClass":"pl-v"},{"start":21,"end":23,"cssClass":"pl-c1"},{"start":26,"end":27,"cssClass":"pl-c1"},{"start":29,"end":30,"cssClass":"pl-c1"},{"start":33,"end":43,"cssClass":"pl-s1"},{"start":43,"end":44,"cssClass":"pl-c1"},{"start":44,"end":50,"cssClass":"pl-s"},{"start":52,"end":63,"cssClass":"pl-s1"},{"start":63,"end":64,"cssClass":"pl-c1"},{"start":64,"end":75,"cssClass":"pl-s1"}],[{"start":4,"end":9,"cssClass":"pl-s1"},{"start":10,"end":13,"cssClass":"pl-en"},{"start":14,"end":26,"cssClass":"pl-v"},{"start":27,"end":36,"cssClass":"pl-s1"},{"start":37,"end":38,"cssClass":"pl-c1"},{"start":40,"end":41,"cssClass":"pl-c1"},{"start":43,"end":44,"cssClass":"pl-c1"}],[{"start":4,"end":9,"cssClass":"pl-s1"},{"start":10,"end":13,"cssClass":"pl-en"},{"start":14,"end":20,"cssClass":"pl-v"},{"start":21,"end":24,"cssClass":"pl-c1"},{"start":27,"end":28,"cssClass":"pl-c1"},{"start":30,"end":31,"cssClass":"pl-c1"},{"start":34,"end":44,"cssClass":"pl-s1"},{"start":44,"end":45,"cssClass":"pl-c1"},{"start":45,"end":51,"cssClass":"pl-s"},{"start":53,"end":64,"cssClass":"pl-s1"},{"start":64,"end":65,"cssClass":"pl-c1"},{"start":65,"end":76,"cssClass":"pl-s1"}],[{"start":4,"end":9,"cssClass":"pl-s1"},{"start":10,"end":13,"cssClass":"pl-en"},{"start":14,"end":26,"cssClass":"pl-v"},{"start":27,"end":36,"cssClass":"pl-s1"},{"start":37,"end":38,"cssClass":"pl-c1"},{"start":40,"end":41,"cssClass":"pl-c1"},{"start":43,"end":44,"cssClass":"pl-c1"}],[],[{"start":4,"end":9,"cssClass":"pl-s1"},{"start":10,"end":13,"cssClass":"pl-en"},{"start":14,"end":21,"cssClass":"pl-v"}],[{"start":4,"end":9,"cssClass":"pl-s1"},{"start":10,"end":13,"cssClass":"pl-en"},{"start":14,"end":19,"cssClass":"pl-v"},{"start":20,"end":30,"cssClass":"pl-s1"},{"start":31,"end":32,"cssClass":"pl-c1"},{"start":33,"end":39,"cssClass":"pl-s"},{"start":41,"end":46,"cssClass":"pl-s1"},{"start":47,"end":48,"cssClass":"pl-c1"},{"start":49,"end":52,"cssClass":"pl-c1"}],[{"start":4,"end":9,"cssClass":"pl-s1"},{"start":10,"end":13,"cssClass":"pl-en"},{"start":14,"end":19,"cssClass":"pl-v"},{"start":20,"end":30,"cssClass":"pl-s1"},{"start":31,"end":32,"cssClass":"pl-c1"},{"start":33,"end":39,"cssClass":"pl-s"},{"start":41,"end":46,"cssClass":"pl-s1"},{"start":47,"end":48,"cssClass":"pl-c1"},{"start":49,"end":51,"cssClass":"pl-c1"}],[{"start":4,"end":9,"cssClass":"pl-s1"},{"start":10,"end":13,"cssClass":"pl-en"},{"start":14,"end":19,"cssClass":"pl-v"},{"start":20,"end":30,"cssClass":"pl-s1"},{"start":31,"end":32,"cssClass":"pl-c1"},{"start":33,"end":42,"cssClass":"pl-s"},{"start":44,"end":49,"cssClass":"pl-s1"},{"start":50,"end":51,"cssClass":"pl-c1"},{"start":52,"end":53,"cssClass":"pl-c1"}],[{"start":4,"end":90,"cssClass":"pl-c"}],[],[{"start":4,"end":97,"cssClass":"pl-c"}],[{"start":4,"end":7,"cssClass":"pl-s1"},{"start":8,"end":9,"cssClass":"pl-c1"},{"start":10,"end":14,"cssClass":"pl-v"},{"start":15,"end":28,"cssClass":"pl-s1"},{"start":28,"end":29,"cssClass":"pl-c1"},{"start":29,"end":36,"cssClass":"pl-v"},{"start":38,"end":43,"cssClass":"pl-s1"},{"start":43,"end":44,"cssClass":"pl-c1"},{"start":44,"end":51,"cssClass":"pl-v"},{"start":52,"end":53,"cssClass":"pl-c1"},{"start":53,"end":55,"cssClass":"pl-c1"}],[{"start":4,"end":9,"cssClass":"pl-s1"},{"start":10,"end":17,"cssClass":"pl-en"},{"start":18,"end":22,"cssClass":"pl-s1"},{"start":22,"end":23,"cssClass":"pl-c1"},{"start":23,"end":49,"cssClass":"pl-s"},{"start":51,"end":60,"cssClass":"pl-s1"},{"start":60,"end":61,"cssClass":"pl-c1"},{"start":61,"end":64,"cssClass":"pl-s1"},{"start":65,"end":72,"cssClass":"pl-s1"},{"start":72,"end":73,"cssClass":"pl-c1"},{"start":74,"end":84,"cssClass":"pl-s"}],[],[{"start":4,"end":6,"cssClass":"pl-k"},{"start":7,"end":22,"cssClass":"pl-s1"}],[{"start":8,"end":13,"cssClass":"pl-s1"},{"start":13,"end":14,"cssClass":"pl-c1"},{"start":14,"end":24,"cssClass":"pl-en"},{"start":25,"end":40,"cssClass":"pl-s1"}],[],[{"start":4,"end":10,"cssClass":"pl-k"},{"start":11,"end":16,"cssClass":"pl-s1"}],[],[],[{"start":0,"end":3,"cssClass":"pl-k"},{"start":4,"end":16,"cssClass":"pl-en"},{"start":17,"end":22,"cssClass":"pl-s1"},{"start":23,"end":26,"cssClass":"pl-s1"}],[{"start":4,"end":80,"cssClass":"pl-c"}],[{"start":4,"end":11,"cssClass":"pl-s1"},{"start":12,"end":13,"cssClass":"pl-c1"},{"start":14,"end":16,"cssClass":"pl-s1"},{"start":17,"end":22,"cssClass":"pl-en"},{"start":23,"end":28,"cssClass":"pl-s1"},{"start":29,"end":40,"cssClass":"pl-en"},{"start":43,"end":48,"cssClass":"pl-s1"},{"start":48,"end":49,"cssClass":"pl-c1"},{"start":49,"end":57,"cssClass":"pl-s"}],[{"start":4,"end":6,"cssClass":"pl-s1"},{"start":7,"end":11,"cssClass":"pl-en"},{"start":12,"end":29,"cssClass":"pl-s"},{"start":30,"end":31,"cssClass":"pl-c1"},{"start":32,"end":35,"cssClass":"pl-s1"},{"start":35,"end":36,"cssClass":"pl-c1"},{"start":37,"end":43,"cssClass":"pl-s"},{"start":45,"end":52,"cssClass":"pl-s1"},{"start":54,"end":66,"cssClass":"pl-s1"},{"start":66,"end":67,"cssClass":"pl-c1"},{"start":67,"end":71,"cssClass":"pl-c1"}],[{"start":4,"end":10,"cssClass":"pl-k"}],[],[{"start":0,"end":3,"cssClass":"pl-k"},{"start":4,"end":16,"cssClass":"pl-en"},{"start":17,"end":20,"cssClass":"pl-s1"}],[{"start":4,"end":11,"cssClass":"pl-s1"},{"start":11,"end":12,"cssClass":"pl-c1"},{"start":12,"end":14,"cssClass":"pl-s1"},{"start":15,"end":19,"cssClass":"pl-en"},{"start":20,"end":37,"cssClass":"pl-s"},{"start":38,"end":39,"cssClass":"pl-c1"},{"start":40,"end":43,"cssClass":"pl-s1"},{"start":44,"end":45,"cssClass":"pl-c1"},{"start":46,"end":52,"cssClass":"pl-s"},{"start":53,"end":65,"cssClass":"pl-s1"},{"start":65,"end":66,"cssClass":"pl-c1"},{"start":66,"end":70,"cssClass":"pl-c1"}],[{"start":4,"end":9,"cssClass":"pl-s1"},{"start":9,"end":10,"cssClass":"pl-c1"},{"start":10,"end":22,"cssClass":"pl-en"}],[{"start":4,"end":9,"cssClass":"pl-s1"},{"start":10,"end":21,"cssClass":"pl-en"},{"start":22,"end":29,"cssClass":"pl-s1"}],[{"start":4,"end":10,"cssClass":"pl-k"},{"start":11,"end":16,"cssClass":"pl-s1"}],[],[{"start":0,"end":3,"cssClass":"pl-k"},{"start":4,"end":16,"cssClass":"pl-en"},{"start":17,"end":25,"cssClass":"pl-s1"},{"start":26,"end":32,"cssClass":"pl-s1"},{"start":34,"end":39,"cssClass":"pl-s1"},{"start":39,"end":40,"cssClass":"pl-c1"},{"start":40,"end":42,"cssClass":"pl-c1"}],[{"start":4,"end":9,"cssClass":"pl-s1"},{"start":9,"end":10,"cssClass":"pl-c1"},{"start":10,"end":22,"cssClass":"pl-en"}],[],[{"start":4,"end":9,"cssClass":"pl-s1"},{"start":10,"end":11,"cssClass":"pl-c1"},{"start":12,"end":25,"cssClass":"pl-v"},{"start":26,"end":33,"cssClass":"pl-s1"},{"start":33,"end":34,"cssClass":"pl-c1"},{"start":34,"end":40,"cssClass":"pl-s"},{"start":42,"end":46,"cssClass":"pl-s1"},{"start":46,"end":47,"cssClass":"pl-c1"},{"start":47,"end":52,"cssClass":"pl-s"},{"start":54,"end":62,"cssClass":"pl-s1"},{"start":62,"end":63,"cssClass":"pl-c1"},{"start":63,"end":64,"cssClass":"pl-c1"}],[{"start":4,"end":10,"cssClass":"pl-s1"},{"start":11,"end":12,"cssClass":"pl-c1"},{"start":13,"end":30,"cssClass":"pl-v"},{"start":31,"end":38,"cssClass":"pl-s1"},{"start":38,"end":39,"cssClass":"pl-c1"},{"start":39,"end":45,"cssClass":"pl-s"},{"start":47,"end":55,"cssClass":"pl-s1"},{"start":56,"end":57,"cssClass":"pl-c1"},{"start":58,"end":59,"cssClass":"pl-c1"},{"start":61,"end":68,"cssClass":"pl-s1"},{"start":68,"end":69,"cssClass":"pl-c1"},{"start":69,"end":70,"cssClass":"pl-c1"},{"start":71,"end":77,"cssClass":"pl-s1"},{"start":77,"end":78,"cssClass":"pl-c1"},{"start":78,"end":81,"cssClass":"pl-c1"},{"start":83,"end":89,"cssClass":"pl-s1"},{"start":89,"end":90,"cssClass":"pl-c1"},{"start":90,"end":98,"cssClass":"pl-c1"}],[],[{"start":4,"end":19,"cssClass":"pl-s1"},{"start":20,"end":21,"cssClass":"pl-c1"},{"start":22,"end":41,"cssClass":"pl-s"}],[{"start":4,"end":18,"cssClass":"pl-s1"},{"start":19,"end":20,"cssClass":"pl-c1"},{"start":21,"end":23,"cssClass":"pl-s1"},{"start":24,"end":28,"cssClass":"pl-s1"},{"start":29,"end":36,"cssClass":"pl-en"},{"start":37,"end":52,"cssClass":"pl-s1"}],[{"start":4,"end":14,"cssClass":"pl-s1"},{"start":15,"end":16,"cssClass":"pl-c1"},{"start":18,"end":33,"cssClass":"pl-v"},{"start":34,"end":42,"cssClass":"pl-s1"},{"start":42,"end":43,"cssClass":"pl-c1"},{"start":43,"end":58,"cssClass":"pl-s1"},{"start":59,"end":76,"cssClass":"pl-s1"},{"start":76,"end":77,"cssClass":"pl-c1"},{"start":77,"end":81,"cssClass":"pl-c1"},{"start":82,"end":96,"cssClass":"pl-s1"},{"start":96,"end":97,"cssClass":"pl-c1"},{"start":97,"end":101,"cssClass":"pl-c1"},{"start":103,"end":110,"cssClass":"pl-s1"},{"start":110,"end":111,"cssClass":"pl-c1"},{"start":111,"end":112,"cssClass":"pl-c1"},{"start":113,"end":120,"cssClass":"pl-s1"},{"start":120,"end":121,"cssClass":"pl-c1"},{"start":121,"end":131,"cssClass":"pl-s"},{"start":133,"end":137,"cssClass":"pl-s1"},{"start":137,"end":138,"cssClass":"pl-c1"},{"start":138,"end":144,"cssClass":"pl-s"}],[],[{"start":4,"end":18,"cssClass":"pl-s1"},{"start":19,"end":20,"cssClass":"pl-c1"},{"start":22,"end":27,"cssClass":"pl-s1"},{"start":29,"end":35,"cssClass":"pl-s1"},{"start":36,"end":46,"cssClass":"pl-s1"}],[{"start":4,"end":9,"cssClass":"pl-s1"},{"start":10,"end":13,"cssClass":"pl-en"},{"start":14,"end":22,"cssClass":"pl-s1"},{"start":24,"end":39,"cssClass":"pl-s1"},{"start":39,"end":40,"cssClass":"pl-c1"},{"start":40,"end":46,"cssClass":"pl-s1"},{"start":48,"end":54,"cssClass":"pl-s1"},{"start":54,"end":55,"cssClass":"pl-c1"},{"start":55,"end":60,"cssClass":"pl-s1"},{"start":62,"end":71,"cssClass":"pl-s1"},{"start":71,"end":72,"cssClass":"pl-c1"},{"start":72,"end":86,"cssClass":"pl-s1"}],[{"start":4,"end":9,"cssClass":"pl-s1"},{"start":10,"end":22,"cssClass":"pl-en"},{"start":23,"end":38,"cssClass":"pl-s1"}],[{"start":4,"end":16,"cssClass":"pl-en"},{"start":17,"end":22,"cssClass":"pl-s1"},{"start":23,"end":29,"cssClass":"pl-s"}],[{"start":4,"end":9,"cssClass":"pl-s1"},{"start":10,"end":14,"cssClass":"pl-en"},{"start":15,"end":32,"cssClass":"pl-s"}],[],[{"start":4,"end":10,"cssClass":"pl-k"}],[],[{"start":0,"end":3,"cssClass":"pl-k"},{"start":4,"end":17,"cssClass":"pl-en"},{"start":18,"end":27,"cssClass":"pl-s1"},{"start":29,"end":39,"cssClass":"pl-s1"},{"start":41,"end":52,"cssClass":"pl-s1"},{"start":54,"end":59,"cssClass":"pl-s1"},{"start":59,"end":60,"cssClass":"pl-c1"},{"start":60,"end":62,"cssClass":"pl-c1"}],[{"start":4,"end":9,"cssClass":"pl-s1"},{"start":9,"end":10,"cssClass":"pl-c1"},{"start":10,"end":22,"cssClass":"pl-en"},{"start":23,"end":40,"cssClass":"pl-s"}],[],[{"start":4,"end":50,"cssClass":"pl-c"}],[],[{"start":4,"end":7,"cssClass":"pl-k"},{"start":8,"end":9,"cssClass":"pl-s1"},{"start":10,"end":12,"cssClass":"pl-c1"},{"start":13,"end":18,"cssClass":"pl-en"},{"start":19,"end":30,"cssClass":"pl-s1"}],[{"start":8,"end":16,"cssClass":"pl-s1"},{"start":18,"end":24,"cssClass":"pl-s1"},{"start":25,"end":26,"cssClass":"pl-c1"},{"start":27,"end":41,"cssClass":"pl-en"},{"start":42,"end":51,"cssClass":"pl-s1"},{"start":53,"end":63,"cssClass":"pl-s1"},{"start":65,"end":66,"cssClass":"pl-s1"},{"start":68,"end":79,"cssClass":"pl-s1"}],[{"start":8,"end":13,"cssClass":"pl-s1"},{"start":14,"end":15,"cssClass":"pl-c1"},{"start":16,"end":29,"cssClass":"pl-v"},{"start":30,"end":37,"cssClass":"pl-s1"},{"start":37,"end":38,"cssClass":"pl-c1"},{"start":38,"end":44,"cssClass":"pl-s"},{"start":46,"end":50,"cssClass":"pl-s1"},{"start":50,"end":51,"cssClass":"pl-c1"},{"start":51,"end":56,"cssClass":"pl-s"},{"start":58,"end":66,"cssClass":"pl-s1"},{"start":66,"end":67,"cssClass":"pl-c1"},{"start":67,"end":68,"cssClass":"pl-c1"},{"start":69,"end":89,"cssClass":"pl-s1"},{"start":89,"end":90,"cssClass":"pl-c1"},{"start":90,"end":94,"cssClass":"pl-c1"}],[{"start":8,"end":14,"cssClass":"pl-s1"},{"start":15,"end":16,"cssClass":"pl-c1"},{"start":17,"end":34,"cssClass":"pl-v"},{"start":35,"end":42,"cssClass":"pl-s1"},{"start":42,"end":43,"cssClass":"pl-c1"},{"start":43,"end":49,"cssClass":"pl-s"},{"start":51,"end":59,"cssClass":"pl-s1"},{"start":60,"end":61,"cssClass":"pl-c1"},{"start":62,"end":63,"cssClass":"pl-c1"},{"start":65,"end":72,"cssClass":"pl-s1"},{"start":72,"end":73,"cssClass":"pl-c1"},{"start":73,"end":74,"cssClass":"pl-c1"},{"start":75,"end":81,"cssClass":"pl-s1"},{"start":81,"end":82,"cssClass":"pl-c1"},{"start":82,"end":85,"cssClass":"pl-c1"},{"start":87,"end":93,"cssClass":"pl-s1"},{"start":93,"end":94,"cssClass":"pl-c1"},{"start":94,"end":102,"cssClass":"pl-c1"}],[],[{"start":8,"end":23,"cssClass":"pl-s1"},{"start":24,"end":25,"cssClass":"pl-c1"},{"start":26,"end":43,"cssClass":"pl-s"},{"start":44,"end":45,"cssClass":"pl-c1"},{"start":46,"end":49,"cssClass":"pl-en"},{"start":50,"end":51,"cssClass":"pl-s1"},{"start":51,"end":52,"cssClass":"pl-c1"},{"start":52,"end":53,"cssClass":"pl-c1"},{"start":54,"end":55,"cssClass":"pl-c1"},{"start":56,"end":63,"cssClass":"pl-s"}],[{"start":8,"end":22,"cssClass":"pl-s1"},{"start":23,"end":24,"cssClass":"pl-c1"},{"start":25,"end":27,"cssClass":"pl-s1"},{"start":28,"end":32,"cssClass":"pl-s1"},{"start":33,"end":40,"cssClass":"pl-en"},{"start":41,"end":56,"cssClass":"pl-s1"}],[{"start":8,"end":18,"cssClass":"pl-s1"},{"start":19,"end":20,"cssClass":"pl-c1"},{"start":22,"end":37,"cssClass":"pl-v"},{"start":38,"end":46,"cssClass":"pl-s1"},{"start":46,"end":47,"cssClass":"pl-c1"},{"start":47,"end":62,"cssClass":"pl-s1"},{"start":63,"end":80,"cssClass":"pl-s1"},{"start":80,"end":81,"cssClass":"pl-c1"},{"start":81,"end":85,"cssClass":"pl-c1"},{"start":86,"end":100,"cssClass":"pl-s1"},{"start":100,"end":101,"cssClass":"pl-c1"},{"start":101,"end":105,"cssClass":"pl-c1"},{"start":107,"end":114,"cssClass":"pl-s1"},{"start":114,"end":115,"cssClass":"pl-c1"},{"start":115,"end":116,"cssClass":"pl-c1"},{"start":117,"end":124,"cssClass":"pl-s1"},{"start":124,"end":125,"cssClass":"pl-c1"},{"start":125,"end":135,"cssClass":"pl-s"},{"start":137,"end":141,"cssClass":"pl-s1"},{"start":141,"end":142,"cssClass":"pl-c1"},{"start":142,"end":148,"cssClass":"pl-s"}],[{"start":8,"end":91,"cssClass":"pl-c"}],[{"start":8,"end":13,"cssClass":"pl-s1"},{"start":14,"end":17,"cssClass":"pl-en"},{"start":18,"end":26,"cssClass":"pl-s1"},{"start":28,"end":43,"cssClass":"pl-s1"},{"start":43,"end":44,"cssClass":"pl-c1"},{"start":44,"end":50,"cssClass":"pl-s1"},{"start":52,"end":61,"cssClass":"pl-s1"},{"start":61,"end":62,"cssClass":"pl-c1"},{"start":63,"end":73,"cssClass":"pl-s1"},{"start":74,"end":79,"cssClass":"pl-s1"},{"start":80,"end":86,"cssClass":"pl-s1"},{"start":89,"end":95,"cssClass":"pl-s1"},{"start":95,"end":96,"cssClass":"pl-c1"},{"start":96,"end":101,"cssClass":"pl-s1"}],[{"start":8,"end":44,"cssClass":"pl-c"}],[],[{"start":8,"end":20,"cssClass":"pl-en"},{"start":21,"end":26,"cssClass":"pl-s1"},{"start":27,"end":30,"cssClass":"pl-en"},{"start":31,"end":32,"cssClass":"pl-s1"},{"start":32,"end":33,"cssClass":"pl-c1"},{"start":33,"end":34,"cssClass":"pl-c1"}],[],[{"start":4,"end":10,"cssClass":"pl-k"}],[],[{"start":0,"end":3,"cssClass":"pl-k"},{"start":4,"end":26,"cssClass":"pl-en"},{"start":27,"end":31,"cssClass":"pl-s1"}],[{"start":4,"end":6,"cssClass":"pl-v"},{"start":7,"end":8,"cssClass":"pl-c1"},{"start":9,"end":15,"cssClass":"pl-en"}],[{"start":4,"end":9,"cssClass":"pl-s1"},{"start":10,"end":11,"cssClass":"pl-c1"},{"start":12,"end":24,"cssClass":"pl-en"},{"start":25,"end":28,"cssClass":"pl-en"},{"start":29,"end":33,"cssClass":"pl-s1"},{"start":33,"end":34,"cssClass":"pl-c1"},{"start":34,"end":35,"cssClass":"pl-c1"}],[{"start":4,"end":9,"cssClass":"pl-s1"},{"start":10,"end":11,"cssClass":"pl-c1"},{"start":12,"end":16,"cssClass":"pl-s1"},{"start":17,"end":21,"cssClass":"pl-en"}],[{"start":4,"end":21,"cssClass":"pl-s1"},{"start":21,"end":22,"cssClass":"pl-c1"}],[{"start":4,"end":7,"cssClass":"pl-k"},{"start":8,"end":9,"cssClass":"pl-s1"},{"start":10,"end":12,"cssClass":"pl-c1"},{"start":13,"end":18,"cssClass":"pl-en"},{"start":19,"end":22,"cssClass":"pl-en"},{"start":23,"end":28,"cssClass":"pl-s1"},{"start":29,"end":35,"cssClass":"pl-s1"}],[{"start":8,"end":10,"cssClass":"pl-k"},{"start":11,"end":16,"cssClass":"pl-s1"},{"start":17,"end":23,"cssClass":"pl-s1"},{"start":24,"end":25,"cssClass":"pl-s1"},{"start":27,"end":38,"cssClass":"pl-en"},{"start":40,"end":42,"cssClass":"pl-c1"}],[{"start":12,"end":21,"cssClass":"pl-s1"},{"start":22,"end":23,"cssClass":"pl-c1"}],[{"start":12,"end":19,"cssClass":"pl-s1"},{"start":20,"end":21,"cssClass":"pl-c1"},{"start":22,"end":27,"cssClass":"pl-s1"},{"start":28,"end":34,"cssClass":"pl-s1"},{"start":35,"end":36,"cssClass":"pl-s1"},{"start":38,"end":49,"cssClass":"pl-en"}],[],[{"start":12,"end":15,"cssClass":"pl-k"},{"start":16,"end":17,"cssClass":"pl-s1"},{"start":18,"end":20,"cssClass":"pl-c1"},{"start":21,"end":26,"cssClass":"pl-en"},{"start":27,"end":30,"cssClass":"pl-en"},{"start":31,"end":38,"cssClass":"pl-s1"}],[{"start":20,"end":26,"cssClass":"pl-s1"},{"start":27,"end":28,"cssClass":"pl-c1"},{"start":29,"end":36,"cssClass":"pl-s1"},{"start":37,"end":38,"cssClass":"pl-s1"}],[{"start":20,"end":25,"cssClass":"pl-s1"},{"start":26,"end":27,"cssClass":"pl-c1"},{"start":28,"end":34,"cssClass":"pl-s1"},{"start":35,"end":40,"cssClass":"pl-s1"}],[{"start":20,"end":26,"cssClass":"pl-s1"},{"start":27,"end":28,"cssClass":"pl-c1"},{"start":29,"end":35,"cssClass":"pl-s1"},{"start":36,"end":43,"cssClass":"pl-en"}],[{"start":20,"end":25,"cssClass":"pl-s1"},{"start":25,"end":26,"cssClass":"pl-c1"},{"start":27,"end":29,"cssClass":"pl-s1"},{"start":30,"end":35,"cssClass":"pl-en"},{"start":36,"end":39,"cssClass":"pl-en"},{"start":40,"end":46,"cssClass":"pl-s1"},{"start":48,"end":53,"cssClass":"pl-s1"},{"start":53,"end":54,"cssClass":"pl-c1"},{"start":54,"end":60,"cssClass":"pl-v"}],[],[{"start":20,"end":23,"cssClass":"pl-k"},{"start":24,"end":25,"cssClass":"pl-s1"},{"start":26,"end":28,"cssClass":"pl-c1"},{"start":29,"end":31,"cssClass":"pl-s1"},{"start":32,"end":38,"cssClass":"pl-en"},{"start":39,"end":42,"cssClass":"pl-en"},{"start":43,"end":49,"cssClass":"pl-s1"}],[{"start":24,"end":29,"cssClass":"pl-s1"},{"start":30,"end":31,"cssClass":"pl-s1"},{"start":33,"end":34,"cssClass":"pl-c1"},{"start":35,"end":37,"cssClass":"pl-v"},{"start":38,"end":49,"cssClass":"pl-en"},{"start":50,"end":56,"cssClass":"pl-s1"},{"start":57,"end":58,"cssClass":"pl-s1"}],[],[{"start":20,"end":29,"cssClass":"pl-s1"},{"start":30,"end":31,"cssClass":"pl-c1"},{"start":32,"end":37,"cssClass":"pl-s1"},{"start":38,"end":45,"cssClass":"pl-en"},{"start":46,"end":51,"cssClass":"pl-s1"}],[{"start":20,"end":65,"cssClass":"pl-c"}],[{"start":20,"end":37,"cssClass":"pl-s1"},{"start":38,"end":42,"cssClass":"pl-s"},{"start":42,"end":43,"cssClass":"pl-c1"},{"start":43,"end":46,"cssClass":"pl-en"},{"start":47,"end":48,"cssClass":"pl-s1"},{"start":49,"end":50,"cssClass":"pl-c1"},{"start":50,"end":53,"cssClass":"pl-s"},{"start":53,"end":54,"cssClass":"pl-c1"},{"start":54,"end":57,"cssClass":"pl-en"},{"start":58,"end":59,"cssClass":"pl-s1"},{"start":61,"end":62,"cssClass":"pl-c1"},{"start":62,"end":71,"cssClass":"pl-s1"}],[],[{"start":4,"end":7,"cssClass":"pl-s1"},{"start":8,"end":9,"cssClass":"pl-c1"},{"start":10,"end":14,"cssClass":"pl-s1"},{"start":15,"end":19,"cssClass":"pl-en"}],[{"start":4,"end":9,"cssClass":"pl-en"},{"start":10,"end":36,"cssClass":"pl-s"},{"start":37,"end":40,"cssClass":"pl-s1"},{"start":40,"end":41,"cssClass":"pl-c1"},{"start":41,"end":46,"cssClass":"pl-s1"}],[{"start":4,"end":12,"cssClass":"pl-s1"},{"start":13,"end":14,"cssClass":"pl-c1"},{"start":16,"end":33,"cssClass":"pl-s"},{"start":34,"end":35,"cssClass":"pl-c1"},{"start":36,"end":39,"cssClass":"pl-en"},{"start":40,"end":44,"cssClass":"pl-s1"},{"start":44,"end":45,"cssClass":"pl-c1"},{"start":45,"end":46,"cssClass":"pl-c1"},{"start":47,"end":48,"cssClass":"pl-c1"},{"start":49,"end":58,"cssClass":"pl-s"}],[{"start":4,"end":18,"cssClass":"pl-en"},{"start":19,"end":27,"cssClass":"pl-s1"},{"start":29,"end":46,"cssClass":"pl-s1"}],[],[{"start":4,"end":10,"cssClass":"pl-k"}],[],[{"start":0,"end":3,"cssClass":"pl-k"},{"start":4,"end":18,"cssClass":"pl-en"},{"start":19,"end":27,"cssClass":"pl-s1"},{"start":29,"end":46,"cssClass":"pl-s1"}],[{"start":4,"end":6,"cssClass":"pl-v"},{"start":7,"end":8,"cssClass":"pl-c1"},{"start":9,"end":15,"cssClass":"pl-en"}],[{"start":4,"end":7,"cssClass":"pl-s1"},{"start":8,"end":9,"cssClass":"pl-c1"}],[{"start":4,"end":7,"cssClass":"pl-s1"},{"start":8,"end":13,"cssClass":"pl-s"},{"start":14,"end":15,"cssClass":"pl-c1"},{"start":15,"end":17,"cssClass":"pl-v"}],[{"start":4,"end":7,"cssClass":"pl-s1"},{"start":8,"end":13,"cssClass":"pl-s"},{"start":14,"end":15,"cssClass":"pl-c1"},{"start":15,"end":32,"cssClass":"pl-s1"}],[{"start":4,"end":9,"cssClass":"pl-s1"},{"start":10,"end":11,"cssClass":"pl-c1"},{"start":12,"end":16,"cssClass":"pl-s1"},{"start":17,"end":21,"cssClass":"pl-en"}],[{"start":4,"end":8,"cssClass":"pl-k"},{"start":9,"end":13,"cssClass":"pl-en"},{"start":14,"end":22,"cssClass":"pl-s1"},{"start":24,"end":28,"cssClass":"pl-s"},{"start":30,"end":32,"cssClass":"pl-k"},{"start":33,"end":39,"cssClass":"pl-s1"}],[{"start":8,"end":14,"cssClass":"pl-s1"},{"start":15,"end":19,"cssClass":"pl-en"},{"start":20,"end":23,"cssClass":"pl-s1"},{"start":25,"end":31,"cssClass":"pl-s1"},{"start":33,"end":41,"cssClass":"pl-s1"},{"start":41,"end":42,"cssClass":"pl-c1"},{"start":42,"end":48,"cssClass":"pl-s1"},{"start":49,"end":65,"cssClass":"pl-v"}],[{"start":4,"end":7,"cssClass":"pl-s1"},{"start":8,"end":9,"cssClass":"pl-c1"},{"start":10,"end":14,"cssClass":"pl-s1"},{"start":15,"end":19,"cssClass":"pl-en"}],[{"start":4,"end":9,"cssClass":"pl-en"},{"start":10,"end":45,"cssClass":"pl-s"},{"start":46,"end":49,"cssClass":"pl-s1"},{"start":49,"end":50,"cssClass":"pl-c1"},{"start":50,"end":55,"cssClass":"pl-s1"}],[{"start":4,"end":10,"cssClass":"pl-k"}],[],[{"start":0,"end":3,"cssClass":"pl-k"},{"start":4,"end":36,"cssClass":"pl-en"},{"start":37,"end":47,"cssClass":"pl-s1"}],[{"start":4,"end":9,"cssClass":"pl-s1"},{"start":10,"end":11,"cssClass":"pl-c1"},{"start":12,"end":16,"cssClass":"pl-s1"},{"start":17,"end":21,"cssClass":"pl-en"}],[{"start":4,"end":7,"cssClass":"pl-k"},{"start":8,"end":9,"cssClass":"pl-s1"},{"start":10,"end":12,"cssClass":"pl-c1"},{"start":13,"end":18,"cssClass":"pl-en"},{"start":19,"end":29,"cssClass":"pl-s1"}],[{"start":8,"end":30,"cssClass":"pl-en"},{"start":31,"end":32,"cssClass":"pl-s1"}],[{"start":8,"end":13,"cssClass":"pl-en"},{"start":14,"end":40,"cssClass":"pl-s"},{"start":41,"end":42,"cssClass":"pl-s1"},{"start":42,"end":43,"cssClass":"pl-c1"},{"start":43,"end":44,"cssClass":"pl-c1"}],[{"start":4,"end":7,"cssClass":"pl-s1"},{"start":8,"end":9,"cssClass":"pl-c1"},{"start":10,"end":14,"cssClass":"pl-s1"},{"start":15,"end":19,"cssClass":"pl-en"}],[{"start":4,"end":9,"cssClass":"pl-en"},{"start":10,"end":45,"cssClass":"pl-s"},{"start":46,"end":49,"cssClass":"pl-s1"},{"start":49,"end":50,"cssClass":"pl-c1"},{"start":50,"end":55,"cssClass":"pl-s1"}],[{"start":4,"end":10,"cssClass":"pl-k"}],[],[{"start":0,"end":3,"cssClass":"pl-k"},{"start":4,"end":10,"cssClass":"pl-en"}],[{"start":4,"end":12,"cssClass":"pl-s1"},{"start":13,"end":14,"cssClass":"pl-c1"},{"start":16,"end":35,"cssClass":"pl-s"}],[{"start":4,"end":8,"cssClass":"pl-k"},{"start":9,"end":13,"cssClass":"pl-en"},{"start":14,"end":22,"cssClass":"pl-s1"},{"start":24,"end":28,"cssClass":"pl-s"},{"start":30,"end":32,"cssClass":"pl-k"},{"start":33,"end":39,"cssClass":"pl-s1"}],[{"start":12,"end":15,"cssClass":"pl-s1"},{"start":16,"end":17,"cssClass":"pl-c1"},{"start":18,"end":24,"cssClass":"pl-s1"},{"start":25,"end":29,"cssClass":"pl-en"},{"start":30,"end":36,"cssClass":"pl-s1"}],[],[{"start":4,"end":6,"cssClass":"pl-v"},{"start":7,"end":8,"cssClass":"pl-c1"},{"start":9,"end":12,"cssClass":"pl-s1"},{"start":13,"end":17,"cssClass":"pl-s"}],[{"start":4,"end":6,"cssClass":"pl-v"},{"start":7,"end":25,"cssClass":"pl-en"},{"start":26,"end":29,"cssClass":"pl-s1"},{"start":30,"end":35,"cssClass":"pl-s"}],[{"start":4,"end":6,"cssClass":"pl-v"},{"start":7,"end":27,"cssClass":"pl-en"},{"start":28,"end":31,"cssClass":"pl-s1"},{"start":32,"end":36,"cssClass":"pl-s"}],[{"start":4,"end":6,"cssClass":"pl-v"},{"start":7,"end":27,"cssClass":"pl-en"},{"start":28,"end":31,"cssClass":"pl-s1"},{"start":32,"end":36,"cssClass":"pl-s"}],[],[{"start":4,"end":10,"cssClass":"pl-k"},{"start":11,"end":13,"cssClass":"pl-v"}],[],[{"start":0,"end":3,"cssClass":"pl-k"},{"start":4,"end":26,"cssClass":"pl-en"},{"start":27,"end":35,"cssClass":"pl-s1"}],[{"start":4,"end":9,"cssClass":"pl-s1"},{"start":10,"end":11,"cssClass":"pl-c1"},{"start":12,"end":16,"cssClass":"pl-s1"},{"start":17,"end":21,"cssClass":"pl-en"}],[{"start":4,"end":15,"cssClass":"pl-s1"},{"start":15,"end":16,"cssClass":"pl-c1"},{"start":16,"end":31,"cssClass":"pl-en"},{"start":32,"end":40,"cssClass":"pl-s1"}],[{"start":4,"end":7,"cssClass":"pl-s1"},{"start":8,"end":9,"cssClass":"pl-c1"},{"start":10,"end":14,"cssClass":"pl-s1"},{"start":15,"end":19,"cssClass":"pl-en"}],[{"start":4,"end":9,"cssClass":"pl-en"},{"start":10,"end":28,"cssClass":"pl-s"},{"start":29,"end":32,"cssClass":"pl-s1"},{"start":32,"end":33,"cssClass":"pl-c1"},{"start":33,"end":38,"cssClass":"pl-s1"}],[],[{"start":4,"end":9,"cssClass":"pl-s1"},{"start":9,"end":10,"cssClass":"pl-c1"},{"start":10,"end":22,"cssClass":"pl-en"},{"start":23,"end":40,"cssClass":"pl-s"}],[{"start":4,"end":9,"cssClass":"pl-s1"},{"start":10,"end":21,"cssClass":"pl-en"}],[{"start":4,"end":7,"cssClass":"pl-k"},{"start":8,"end":9,"cssClass":"pl-s1"},{"start":10,"end":12,"cssClass":"pl-c1"},{"start":13,"end":18,"cssClass":"pl-en"},{"start":19,"end":22,"cssClass":"pl-en"},{"start":23,"end":28,"cssClass":"pl-s1"},{"start":29,"end":35,"cssClass":"pl-s1"}],[{"start":8,"end":10,"cssClass":"pl-k"},{"start":11,"end":16,"cssClass":"pl-s1"},{"start":17,"end":23,"cssClass":"pl-s1"},{"start":24,"end":25,"cssClass":"pl-s1"},{"start":27,"end":38,"cssClass":"pl-en"},{"start":40,"end":42,"cssClass":"pl-c1"}],[{"start":12,"end":19,"cssClass":"pl-s1"},{"start":20,"end":21,"cssClass":"pl-c1"},{"start":22,"end":27,"cssClass":"pl-s1"},{"start":28,"end":34,"cssClass":"pl-s1"},{"start":35,"end":36,"cssClass":"pl-s1"},{"start":38,"end":49,"cssClass":"pl-en"}],[{"start":12,"end":18,"cssClass":"pl-s1"},{"start":18,"end":19,"cssClass":"pl-c1"}],[{"start":12,"end":15,"cssClass":"pl-k"},{"start":16,"end":17,"cssClass":"pl-s1"},{"start":18,"end":20,"cssClass":"pl-c1"},{"start":21,"end":26,"cssClass":"pl-en"},{"start":27,"end":30,"cssClass":"pl-en"},{"start":31,"end":38,"cssClass":"pl-s1"}],[{"start":16,"end":22,"cssClass":"pl-s1"},{"start":23,"end":29,"cssClass":"pl-en"},{"start":30,"end":41,"cssClass":"pl-s1"},{"start":42,"end":46,"cssClass":"pl-s"},{"start":46,"end":47,"cssClass":"pl-c1"},{"start":47,"end":50,"cssClass":"pl-en"},{"start":51,"end":52,"cssClass":"pl-s1"},{"start":53,"end":54,"cssClass":"pl-c1"},{"start":54,"end":57,"cssClass":"pl-s"},{"start":57,"end":58,"cssClass":"pl-c1"},{"start":58,"end":61,"cssClass":"pl-en"},{"start":62,"end":63,"cssClass":"pl-s1"}],[],[{"start":12,"end":17,"cssClass":"pl-s1"},{"start":18,"end":24,"cssClass":"pl-s1"},{"start":25,"end":26,"cssClass":"pl-s1"},{"start":28,"end":39,"cssClass":"pl-en"},{"start":40,"end":46,"cssClass":"pl-s1"}],[],[{"start":4,"end":9,"cssClass":"pl-s1"},{"start":10,"end":14,"cssClass":"pl-en"},{"start":15,"end":31,"cssClass":"pl-s"}],[{"start":4,"end":10,"cssClass":"pl-k"},{"start":11,"end":16,"cssClass":"pl-s1"}],[],[{"start":0,"end":3,"cssClass":"pl-k"},{"start":4,"end":19,"cssClass":"pl-en"},{"start":20,"end":28,"cssClass":"pl-s1"}],[{"start":4,"end":6,"cssClass":"pl-v"},{"start":7,"end":8,"cssClass":"pl-c1"},{"start":9,"end":15,"cssClass":"pl-en"}],[{"start":4,"end":15,"cssClass":"pl-s1"},{"start":15,"end":16,"cssClass":"pl-c1"}],[{"start":4,"end":15,"cssClass":"pl-s1"},{"start":15,"end":16,"cssClass":"pl-c1"}],[{"start":4,"end":15,"cssClass":"pl-s1"},{"start":15,"end":16,"cssClass":"pl-c1"},{"start":16,"end":40,"cssClass":"pl-en"},{"start":41,"end":49,"cssClass":"pl-s1"}],[],[{"start":4,"end":7,"cssClass":"pl-k"},{"start":8,"end":11,"cssClass":"pl-s1"},{"start":12,"end":14,"cssClass":"pl-c1"},{"start":15,"end":26,"cssClass":"pl-s1"}],[{"start":8,"end":11,"cssClass":"pl-s1"},{"start":12,"end":13,"cssClass":"pl-c1"},{"start":14,"end":25,"cssClass":"pl-s1"},{"start":26,"end":29,"cssClass":"pl-s1"}],[{"start":8,"end":13,"cssClass":"pl-s1"},{"start":14,"end":15,"cssClass":"pl-c1"},{"start":16,"end":19,"cssClass":"pl-s1"},{"start":20,"end":25,"cssClass":"pl-s1"}],[{"start":8,"end":14,"cssClass":"pl-s1"},{"start":15,"end":16,"cssClass":"pl-c1"},{"start":17,"end":20,"cssClass":"pl-s1"},{"start":21,"end":28,"cssClass":"pl-en"}],[],[{"start":8,"end":11,"cssClass":"pl-k"},{"start":12,"end":13,"cssClass":"pl-s1"},{"start":14,"end":16,"cssClass":"pl-c1"},{"start":17,"end":22,"cssClass":"pl-en"},{"start":23,"end":26,"cssClass":"pl-en"},{"start":27,"end":33,"cssClass":"pl-s1"}],[{"start":12,"end":18,"cssClass":"pl-s1"},{"start":19,"end":20,"cssClass":"pl-s1"},{"start":21,"end":22,"cssClass":"pl-c1"},{"start":23,"end":25,"cssClass":"pl-v"},{"start":26,"end":37,"cssClass":"pl-en"},{"start":38,"end":44,"cssClass":"pl-s1"},{"start":45,"end":46,"cssClass":"pl-s1"}],[],[{"start":8,"end":17,"cssClass":"pl-s1"},{"start":18,"end":19,"cssClass":"pl-c1"},{"start":20,"end":26,"cssClass":"pl-s1"},{"start":27,"end":34,"cssClass":"pl-en"},{"start":35,"end":40,"cssClass":"pl-s1"}],[{"start":8,"end":19,"cssClass":"pl-s1"},{"start":20,"end":23,"cssClass":"pl-s1"},{"start":25,"end":26,"cssClass":"pl-c1"},{"start":27,"end":36,"cssClass":"pl-s1"}],[],[{"start":4,"end":10,"cssClass":"pl-k"},{"start":11,"end":22,"cssClass":"pl-s1"}],[],[],[{"start":0,"end":3,"cssClass":"pl-k"},{"start":4,"end":28,"cssClass":"pl-en"},{"start":29,"end":37,"cssClass":"pl-s1"}],[{"start":4,"end":11,"cssClass":"pl-s1"},{"start":11,"end":12,"cssClass":"pl-c1"}],[{"start":4,"end":9,"cssClass":"pl-s1"},{"start":10,"end":11,"cssClass":"pl-c1"},{"start":12,"end":24,"cssClass":"pl-en"}],[{"start":4,"end":9,"cssClass":"pl-s1"},{"start":10,"end":11,"cssClass":"pl-c1"},{"start":12,"end":16,"cssClass":"pl-s1"},{"start":17,"end":21,"cssClass":"pl-en"}],[{"start":4,"end":59,"cssClass":"pl-c"}],[{"start":4,"end":8,"cssClass":"pl-k"},{"start":9,"end":13,"cssClass":"pl-en"},{"start":14,"end":22,"cssClass":"pl-s1"},{"start":24,"end":28,"cssClass":"pl-s"},{"start":30,"end":32,"cssClass":"pl-k"},{"start":33,"end":39,"cssClass":"pl-s1"}],[{"start":8,"end":11,"cssClass":"pl-s1"},{"start":12,"end":13,"cssClass":"pl-c1"},{"start":14,"end":20,"cssClass":"pl-s1"},{"start":21,"end":25,"cssClass":"pl-en"},{"start":26,"end":32,"cssClass":"pl-s1"}],[],[{"start":4,"end":12,"cssClass":"pl-s1"},{"start":12,"end":13,"cssClass":"pl-c1"},{"start":13,"end":16,"cssClass":"pl-s1"},{"start":17,"end":22,"cssClass":"pl-s"}],[{"start":4,"end":7,"cssClass":"pl-v"},{"start":8,"end":9,"cssClass":"pl-c1"},{"start":10,"end":13,"cssClass":"pl-s1"},{"start":14,"end":19,"cssClass":"pl-s"}],[{"start":4,"end":15,"cssClass":"pl-s1"},{"start":15,"end":16,"cssClass":"pl-c1"}],[],[{"start":4,"end":7,"cssClass":"pl-k"},{"start":8,"end":11,"cssClass":"pl-s1"},{"start":12,"end":14,"cssClass":"pl-c1"},{"start":15,"end":23,"cssClass":"pl-s1"}],[{"start":8,"end":11,"cssClass":"pl-s1"},{"start":12,"end":13,"cssClass":"pl-c1"},{"start":14,"end":22,"cssClass":"pl-s1"},{"start":23,"end":26,"cssClass":"pl-s1"}],[{"start":8,"end":13,"cssClass":"pl-s1"},{"start":14,"end":15,"cssClass":"pl-c1"},{"start":16,"end":19,"cssClass":"pl-s1"},{"start":20,"end":25,"cssClass":"pl-s1"}],[{"start":8,"end":14,"cssClass":"pl-s1"},{"start":15,"end":16,"cssClass":"pl-c1"},{"start":17,"end":20,"cssClass":"pl-s1"},{"start":21,"end":28,"cssClass":"pl-en"}],[],[{"start":8,"end":11,"cssClass":"pl-k"},{"start":12,"end":13,"cssClass":"pl-s1"},{"start":14,"end":16,"cssClass":"pl-c1"},{"start":17,"end":19,"cssClass":"pl-s1"},{"start":20,"end":26,"cssClass":"pl-en"},{"start":27,"end":30,"cssClass":"pl-en"},{"start":31,"end":37,"cssClass":"pl-s1"}],[{"start":12,"end":18,"cssClass":"pl-s1"},{"start":19,"end":20,"cssClass":"pl-s1"},{"start":22,"end":29,"cssClass":"pl-s1"},{"start":30,"end":31,"cssClass":"pl-c1"},{"start":32,"end":35,"cssClass":"pl-v"}],[],[{"start":8,"end":17,"cssClass":"pl-s1"},{"start":18,"end":19,"cssClass":"pl-c1"},{"start":20,"end":26,"cssClass":"pl-s1"},{"start":27,"end":34,"cssClass":"pl-en"},{"start":35,"end":40,"cssClass":"pl-s1"}],[{"start":8,"end":19,"cssClass":"pl-s1"},{"start":20,"end":23,"cssClass":"pl-s1"},{"start":25,"end":26,"cssClass":"pl-c1"},{"start":27,"end":36,"cssClass":"pl-s1"}],[],[{"start":4,"end":7,"cssClass":"pl-s1"},{"start":8,"end":9,"cssClass":"pl-c1"},{"start":10,"end":14,"cssClass":"pl-s1"},{"start":15,"end":19,"cssClass":"pl-en"}],[{"start":4,"end":9,"cssClass":"pl-en"},{"start":10,"end":27,"cssClass":"pl-s"},{"start":28,"end":31,"cssClass":"pl-s1"},{"start":31,"end":32,"cssClass":"pl-c1"},{"start":32,"end":37,"cssClass":"pl-s1"}],[{"start":4,"end":10,"cssClass":"pl-k"},{"start":11,"end":22,"cssClass":"pl-s1"}],[],[{"start":0,"end":3,"cssClass":"pl-k"},{"start":4,"end":10,"cssClass":"pl-en"},{"start":11,"end":12,"cssClass":"pl-s1"},{"start":12,"end":13,"cssClass":"pl-c1"},{"start":13,"end":16,"cssClass":"pl-c1"},{"start":18,"end":19,"cssClass":"pl-s1"},{"start":19,"end":20,"cssClass":"pl-c1"},{"start":20,"end":24,"cssClass":"pl-c1"}],[{"start":4,"end":6,"cssClass":"pl-v"},{"start":7,"end":8,"cssClass":"pl-c1"},{"start":9,"end":15,"cssClass":"pl-v"}],[{"start":4,"end":6,"cssClass":"pl-v"},{"start":7,"end":17,"cssClass":"pl-en"},{"start":18,"end":19,"cssClass":"pl-s1"},{"start":19,"end":20,"cssClass":"pl-c1"},{"start":20,"end":25,"cssClass":"pl-c1"},{"start":27,"end":30,"cssClass":"pl-s1"},{"start":31,"end":32,"cssClass":"pl-c1"},{"start":33,"end":34,"cssClass":"pl-s1"},{"start":36,"end":37,"cssClass":"pl-s1"},{"start":37,"end":38,"cssClass":"pl-c1"},{"start":38,"end":39,"cssClass":"pl-s1"}],[{"start":4,"end":6,"cssClass":"pl-v"},{"start":7,"end":13,"cssClass":"pl-en"}],[],[{"start":4,"end":8,"cssClass":"pl-s1"},{"start":9,"end":10,"cssClass":"pl-c1"}],[{"start":4,"end":8,"cssClass":"pl-s1"},{"start":9,"end":13,"cssClass":"pl-s"},{"start":15,"end":16,"cssClass":"pl-c1"},{"start":17,"end":19,"cssClass":"pl-v"}],[{"start":4,"end":8,"cssClass":"pl-s1"},{"start":9,"end":14,"cssClass":"pl-s"},{"start":16,"end":17,"cssClass":"pl-c1"},{"start":18,"end":20,"cssClass":"pl-v"},{"start":21,"end":37,"cssClass":"pl-en"}],[{"start":4,"end":8,"cssClass":"pl-s1"},{"start":9,"end":13,"cssClass":"pl-s"},{"start":15,"end":16,"cssClass":"pl-c1"},{"start":17,"end":19,"cssClass":"pl-v"},{"start":20,"end":38,"cssClass":"pl-en"}],[],[{"start":4,"end":12,"cssClass":"pl-s1"},{"start":13,"end":14,"cssClass":"pl-c1"},{"start":16,"end":34,"cssClass":"pl-s"}],[{"start":4,"end":8,"cssClass":"pl-k"},{"start":9,"end":13,"cssClass":"pl-en"},{"start":14,"end":22,"cssClass":"pl-s1"},{"start":24,"end":28,"cssClass":"pl-s"},{"start":30,"end":32,"cssClass":"pl-k"},{"start":33,"end":39,"cssClass":"pl-s1"}],[{"start":8,"end":14,"cssClass":"pl-s1"},{"start":15,"end":19,"cssClass":"pl-en"},{"start":20,"end":24,"cssClass":"pl-s1"},{"start":26,"end":32,"cssClass":"pl-s1"},{"start":34,"end":42,"cssClass":"pl-s1"},{"start":42,"end":43,"cssClass":"pl-c1"},{"start":43,"end":49,"cssClass":"pl-s1"},{"start":50,"end":66,"cssClass":"pl-v"}],[],[{"start":4,"end":10,"cssClass":"pl-k"},{"start":11,"end":13,"cssClass":"pl-v"}],[],[{"start":0,"end":3,"cssClass":"pl-k"},{"start":4,"end":10,"cssClass":"pl-en"}],[{"start":4,"end":12,"cssClass":"pl-s1"},{"start":13,"end":14,"cssClass":"pl-c1"},{"start":16,"end":34,"cssClass":"pl-s"}],[{"start":4,"end":8,"cssClass":"pl-k"},{"start":9,"end":13,"cssClass":"pl-en"},{"start":14,"end":22,"cssClass":"pl-s1"},{"start":24,"end":28,"cssClass":"pl-s"},{"start":30,"end":32,"cssClass":"pl-k"},{"start":33,"end":39,"cssClass":"pl-s1"}],[{"start":8,"end":11,"cssClass":"pl-s1"},{"start":12,"end":13,"cssClass":"pl-c1"},{"start":14,"end":20,"cssClass":"pl-s1"},{"start":21,"end":25,"cssClass":"pl-en"},{"start":26,"end":32,"cssClass":"pl-s1"}],[],[{"start":4,"end":7,"cssClass":"pl-v"},{"start":8,"end":9,"cssClass":"pl-c1"},{"start":10,"end":13,"cssClass":"pl-s1"},{"start":14,"end":18,"cssClass":"pl-s"}],[{"start":4,"end":7,"cssClass":"pl-v"},{"start":8,"end":26,"cssClass":"pl-en"},{"start":27,"end":30,"cssClass":"pl-s1"},{"start":31,"end":36,"cssClass":"pl-s"}],[{"start":4,"end":7,"cssClass":"pl-v"},{"start":8,"end":28,"cssClass":"pl-en"},{"start":29,"end":32,"cssClass":"pl-s1"},{"start":33,"end":37,"cssClass":"pl-s"}],[],[{"start":4,"end":10,"cssClass":"pl-k"},{"start":11,"end":14,"cssClass":"pl-v"}],[],[{"start":0,"end":3,"cssClass":"pl-k"},{"start":4,"end":13,"cssClass":"pl-en"}],[{"start":4,"end":12,"cssClass":"pl-s1"},{"start":13,"end":14,"cssClass":"pl-c1"},{"start":16,"end":34,"cssClass":"pl-s"}],[{"start":4,"end":8,"cssClass":"pl-k"},{"start":9,"end":13,"cssClass":"pl-en"},{"start":14,"end":22,"cssClass":"pl-s1"},{"start":24,"end":28,"cssClass":"pl-s"},{"start":30,"end":32,"cssClass":"pl-k"},{"start":33,"end":39,"cssClass":"pl-s1"}],[{"start":8,"end":11,"cssClass":"pl-s1"},{"start":12,"end":13,"cssClass":"pl-c1"},{"start":14,"end":20,"cssClass":"pl-s1"},{"start":21,"end":25,"cssClass":"pl-en"},{"start":26,"end":32,"cssClass":"pl-s1"}],[],[{"start":4,"end":16,"cssClass":"pl-s1"},{"start":16,"end":17,"cssClass":"pl-c1"},{"start":17,"end":18,"cssClass":"pl-c1"}],[{"start":4,"end":6,"cssClass":"pl-v"},{"start":7,"end":18,"cssClass":"pl-en"},{"start":19,"end":27,"cssClass":"pl-s1"},{"start":27,"end":28,"cssClass":"pl-c1"},{"start":28,"end":29,"cssClass":"pl-c1"},{"start":31,"end":35,"cssClass":"pl-s1"},{"start":35,"end":36,"cssClass":"pl-c1"},{"start":36,"end":48,"cssClass":"pl-s1"}],[{"start":4,"end":10,"cssClass":"pl-k"},{"start":11,"end":13,"cssClass":"pl-v"}],[],[{"start":0,"end":3,"cssClass":"pl-k"},{"start":4,"end":31,"cssClass":"pl-en"},{"start":32,"end":42,"cssClass":"pl-s1"}],[{"start":4,"end":15,"cssClass":"pl-s1"},{"start":16,"end":17,"cssClass":"pl-c1"}],[{"start":4,"end":9,"cssClass":"pl-s1"},{"start":10,"end":11,"cssClass":"pl-c1"},{"start":12,"end":17,"cssClass":"pl-en"},{"start":18,"end":19,"cssClass":"pl-c1"},{"start":19,"end":20,"cssClass":"pl-c1"},{"start":20,"end":30,"cssClass":"pl-s1"}],[{"start":4,"end":9,"cssClass":"pl-s1"},{"start":10,"end":11,"cssClass":"pl-c1"},{"start":12,"end":16,"cssClass":"pl-s1"},{"start":17,"end":21,"cssClass":"pl-en"}],[{"start":4,"end":6,"cssClass":"pl-v"},{"start":7,"end":8,"cssClass":"pl-c1"},{"start":9,"end":15,"cssClass":"pl-en"}],[{"start":4,"end":11,"cssClass":"pl-s1"},{"start":12,"end":13,"cssClass":"pl-c1"},{"start":14,"end":16,"cssClass":"pl-v"},{"start":17,"end":28,"cssClass":"pl-en"},{"start":29,"end":34,"cssClass":"pl-s1"}],[{"start":4,"end":7,"cssClass":"pl-k"},{"start":8,"end":9,"cssClass":"pl-s1"},{"start":10,"end":12,"cssClass":"pl-c1"},{"start":13,"end":18,"cssClass":"pl-en"},{"start":19,"end":29,"cssClass":"pl-s1"}],[{"start":8,"end":19,"cssClass":"pl-s1"},{"start":19,"end":20,"cssClass":"pl-c1"}],[{"start":8,"end":16,"cssClass":"pl-s1"},{"start":17,"end":18,"cssClass":"pl-c1"},{"start":20,"end":37,"cssClass":"pl-s"},{"start":38,"end":39,"cssClass":"pl-c1"},{"start":40,"end":43,"cssClass":"pl-en"},{"start":44,"end":45,"cssClass":"pl-s1"},{"start":45,"end":46,"cssClass":"pl-c1"},{"start":46,"end":47,"cssClass":"pl-c1"},{"start":48,"end":49,"cssClass":"pl-c1"},{"start":50,"end":59,"cssClass":"pl-s"}],[{"start":8,"end":19,"cssClass":"pl-s1"},{"start":20,"end":21,"cssClass":"pl-c1"},{"start":21,"end":45,"cssClass":"pl-en"},{"start":46,"end":54,"cssClass":"pl-s1"}],[],[{"start":8,"end":11,"cssClass":"pl-k"},{"start":12,"end":15,"cssClass":"pl-s1"},{"start":16,"end":18,"cssClass":"pl-c1"},{"start":19,"end":30,"cssClass":"pl-s1"}],[{"start":12,"end":14,"cssClass":"pl-k"},{"start":15,"end":16,"cssClass":"pl-s1"},{"start":17,"end":19,"cssClass":"pl-c1"},{"start":20,"end":21,"cssClass":"pl-c1"}],[{"start":16,"end":19,"cssClass":"pl-s1"},{"start":20,"end":21,"cssClass":"pl-c1"},{"start":22,"end":33,"cssClass":"pl-s1"},{"start":34,"end":37,"cssClass":"pl-s1"}],[{"start":16,"end":27,"cssClass":"pl-s1"},{"start":28,"end":31,"cssClass":"pl-s1"},{"start":33,"end":34,"cssClass":"pl-c1"},{"start":35,"end":37,"cssClass":"pl-s1"},{"start":38,"end":48,"cssClass":"pl-en"},{"start":49,"end":52,"cssClass":"pl-s1"},{"start":53,"end":58,"cssClass":"pl-s1"},{"start":58,"end":59,"cssClass":"pl-c1"},{"start":59,"end":65,"cssClass":"pl-v"}],[{"start":12,"end":23,"cssClass":"pl-s1"},{"start":24,"end":27,"cssClass":"pl-s1"},{"start":29,"end":30,"cssClass":"pl-c1"},{"start":31,"end":42,"cssClass":"pl-s1"},{"start":43,"end":46,"cssClass":"pl-s1"},{"start":48,"end":49,"cssClass":"pl-c1"},{"start":50,"end":61,"cssClass":"pl-s1"},{"start":62,"end":65,"cssClass":"pl-s1"}],[{"start":8,"end":85,"cssClass":"pl-c"}],[],[{"start":4,"end":7,"cssClass":"pl-k"},{"start":8,"end":11,"cssClass":"pl-s1"},{"start":12,"end":14,"cssClass":"pl-c1"},{"start":15,"end":26,"cssClass":"pl-s1"}],[{"start":8,"end":19,"cssClass":"pl-s1"},{"start":20,"end":23,"cssClass":"pl-s1"},{"start":24,"end":25,"cssClass":"pl-c1"},{"start":26,"end":37,"cssClass":"pl-s1"},{"start":38,"end":41,"cssClass":"pl-s1"},{"start":42,"end":43,"cssClass":"pl-c1"},{"start":43,"end":48,"cssClass":"pl-s1"},{"start":49,"end":57,"cssClass":"pl-c"}],[{"start":8,"end":39,"cssClass":"pl-c"}],[],[{"start":4,"end":7,"cssClass":"pl-s1"},{"start":8,"end":9,"cssClass":"pl-c1"},{"start":10,"end":14,"cssClass":"pl-s1"},{"start":15,"end":19,"cssClass":"pl-en"}],[{"start":4,"end":9,"cssClass":"pl-en"},{"start":10,"end":30,"cssClass":"pl-s"},{"start":31,"end":34,"cssClass":"pl-s1"},{"start":34,"end":35,"cssClass":"pl-c1"},{"start":35,"end":40,"cssClass":"pl-s1"}],[{"start":4,"end":10,"cssClass":"pl-k"},{"start":11,"end":22,"cssClass":"pl-s1"}]],"csv":null,"csvError":null,"dependabotInfo":{"showConfigurationBanner":false,"configFilePath":null,"networkDependabotPath":"/FebriantiW/Homomorphic-Encryption-and-Federated-Learning-based-Privacy-Preserving-CNN-Training-/network/updates","dismissConfigurationNoticePath":"/settings/dismiss-notice/dependabot_configuration_notice","configurationNoticeDismissed":null,"repoAlertsPath":"/FebriantiW/Homomorphic-Encryption-and-Federated-Learning-based-Privacy-Preserving-CNN-Training-/security/dependabot","repoSecurityAndAnalysisPath":"/FebriantiW/Homomorphic-Encryption-and-Federated-Learning-based-Privacy-Preserving-CNN-Training-/settings/security_analysis","repoOwnerIsOrg":false,"currentUserCanAdminRepo":false},"displayName":"FLPyfhelin.py","displayUrl":"https://github.com/FebriantiW/Homomorphic-Encryption-and-Federated-Learning-based-Privacy-Preserving-CNN-Training-/blob/main/FLPyfhelin.py?raw=true","headerInfo":{"blobSize":"12.5 KB","deleteInfo":{"deleteTooltip":"You must be signed in to make or propose changes"},"editInfo":{"editTooltip":"You must be signed in to make or propose changes"},"ghDesktopPath":"https://desktop.github.com/","gitLfsPath":null,"onBranch":true,"shortPath":"127baf7","siteNavLoginPath":"/login?return_to=https%3A%2F%2Fgithub.com%2FFebriantiW%2FHomomorphic-Encryption-and-Federated-Learning-based-Privacy-Preserving-CNN-Training-%2Fblob%2Fmain%2FFLPyfhelin.py","isCSV":false,"isRichtext":false,"toc":null,"lineInfo":{"truncatedLoc":"390","truncatedSloc":"316"},"mode":"file"},"image":false,"isCodeownersFile":null,"isPlain":false,"isValidLegacyIssueTemplate":false,"issueTemplateHelpUrl":"https://docs.github.com/articles/about-issue-and-pull-request-templates","issueTemplate":null,"discussionTemplate":null,"language":"Python","languageID":303,"large":false,"loggedIn":false,"newDiscussionPath":"/FebriantiW/Homomorphic-Encryption-and-Federated-Learning-based-Privacy-Preserving-CNN-Training-/discussions/new","newIssuePath":"/FebriantiW/Homomorphic-Encryption-and-Federated-Learning-based-Privacy-Preserving-CNN-Training-/issues/new","planSupportInfo":{"repoIsFork":null,"repoOwnedByCurrentUser":null,"requestFullPath":"/FebriantiW/Homomorphic-Encryption-and-Federated-Learning-based-Privacy-Preserving-CNN-Training-/blob/main/FLPyfhelin.py","showFreeOrgGatedFeatureMessage":null,"showPlanSupportBanner":null,"upgradeDataAttributes":null,"upgradePath":null},"publishBannersInfo":{"dismissActionNoticePath":"/settings/dismiss-notice/publish_action_from_dockerfile","dismissStackNoticePath":"/settings/dismiss-notice/publish_stack_from_file","releasePath":"/FebriantiW/Homomorphic-Encryption-and-Federated-Learning-based-Privacy-Preserving-CNN-Training-/releases/new?marketplace=true","showPublishActionBanner":false,"showPublishStackBanner":false},"renderImageOrRaw":false,"richText":null,"renderedFileInfo":null,"shortPath":null,"tabSize":8,"topBannersInfo":{"overridingGlobalFundingFile":false,"globalPreferredFundingPath":null,"repoOwner":"FebriantiW","repoName":"Homomorphic-Encryption-and-Federated-Learning-based-Privacy-Preserving-CNN-Training-","showInvalidCitationWarning":false,"citationHelpUrl":"https://docs.github.com/en/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/about-citation-files","showDependabotConfigurationBanner":false,"actionsOnboardingTip":null},"truncated":false,"viewable":true,"workflowRedirectUrl":null,"symbols":{"timedOut":false,"notAnalyzed":false,"symbols":[{"name":"INIT_LR","kind":"constant","identStart":1294,"identEnd":1301,"extentStart":1294,"extentEnd":1308,"fullyQualifiedName":"INIT_LR","identUtf16":{"start":{"lineNumber":30,"utf16Col":0},"end":{"lineNumber":30,"utf16Col":7}},"extentUtf16":{"start":{"lineNumber":30,"utf16Col":0},"end":{"lineNumber":30,"utf16Col":14}}},{"name":"EPOCHS","kind":"constant","identStart":1309,"identEnd":1315,"extentStart":1309,"extentEnd":1320,"fullyQualifiedName":"EPOCHS","identUtf16":{"start":{"lineNumber":31,"utf16Col":0},"end":{"lineNumber":31,"utf16Col":6}},"extentUtf16":{"start":{"lineNumber":31,"utf16Col":0},"end":{"lineNumber":31,"utf16Col":11}}},{"name":"BS","kind":"constant","identStart":1321,"identEnd":1323,"extentStart":1321,"extentEnd":1328,"fullyQualifiedName":"BS","identUtf16":{"start":{"lineNumber":32,"utf16Col":0},"end":{"lineNumber":32,"utf16Col":2}},"extentUtf16":{"start":{"lineNumber":32,"utf16Col":0},"end":{"lineNumber":32,"utf16Col":7}}},{"name":"SCALE","kind":"constant","identStart":1329,"identEnd":1334,"extentStart":1329,"extentEnd":1337,"fullyQualifiedName":"SCALE","identUtf16":{"start":{"lineNumber":33,"utf16Col":0},"end":{"lineNumber":33,"utf16Col":5}},"extentUtf16":{"start":{"lineNumber":33,"utf16Col":0},"end":{"lineNumber":33,"utf16Col":8}}},{"name":"input_shape","kind":"constant","identStart":1338,"identEnd":1349,"extentStart":1338,"extentEnd":1388,"fullyQualifiedName":"input_shape","identUtf16":{"start":{"lineNumber":34,"utf16Col":0},"end":{"lineNumber":34,"utf16Col":11}},"extentUtf16":{"start":{"lineNumber":34,"utf16Col":0},"end":{"lineNumber":34,"utf16Col":50}}},{"name":"image_size","kind":"constant","identStart":1389,"identEnd":1399,"extentStart":1389,"extentEnd":1435,"fullyQualifiedName":"image_size","identUtf16":{"start":{"lineNumber":35,"utf16Col":0},"end":{"lineNumber":35,"utf16Col":10}},"extentUtf16":{"start":{"lineNumber":35,"utf16Col":0},"end":{"lineNumber":35,"utf16Col":46}}},{"name":"prep_df","kind":"function","identStart":1441,"identEnd":1448,"extentStart":1437,"extentEnd":2116,"fullyQualifiedName":"prep_df","identUtf16":{"start":{"lineNumber":37,"utf16Col":4},"end":{"lineNumber":37,"utf16Col":11}},"extentUtf16":{"start":{"lineNumber":37,"utf16Col":0},"end":{"lineNumber":54,"utf16Col":17}}},{"name":"get_test_data","kind":"function","identStart":2122,"identEnd":2135,"extentStart":2118,"extentEnd":2521,"fullyQualifiedName":"get_test_data","identUtf16":{"start":{"lineNumber":56,"utf16Col":4},"end":{"lineNumber":56,"utf16Col":17}},"extentUtf16":{"start":{"lineNumber":56,"utf16Col":0},"end":{"lineNumber":70,"utf16Col":15}}},{"name":"get_train_data","kind":"function","identStart":2527,"identEnd":2541,"extentStart":2523,"extentEnd":3614,"fullyQualifiedName":"get_train_data","identUtf16":{"start":{"lineNumber":72,"utf16Col":4},"end":{"lineNumber":72,"utf16Col":18}},"extentUtf16":{"start":{"lineNumber":72,"utf16Col":0},"end":{"lineNumber":113,"utf16Col":20}}},{"name":"create_model","kind":"function","identStart":3622,"identEnd":3634,"extentStart":3618,"extentEnd":5069,"fullyQualifiedName":"create_model","identUtf16":{"start":{"lineNumber":117,"utf16Col":4},"end":{"lineNumber":117,"utf16Col":16}},"extentUtf16":{"start":{"lineNumber":117,"utf16Col":0},"end":{"lineNumber":145,"utf16Col":16}}},{"name":"save_weights","kind":"function","identStart":5080,"identEnd":5092,"extentStart":5076,"extentEnd":5328,"fullyQualifiedName":"save_weights","identUtf16":{"start":{"lineNumber":148,"utf16Col":4},"end":{"lineNumber":148,"utf16Col":16}},"extentUtf16":{"start":{"lineNumber":148,"utf16Col":0},"end":{"lineNumber":152,"utf16Col":10}}},{"name":"load_weights","kind":"function","identStart":5334,"identEnd":5346,"extentStart":5330,"extentEnd":5497,"fullyQualifiedName":"load_weights","identUtf16":{"start":{"lineNumber":154,"utf16Col":4},"end":{"lineNumber":154,"utf16Col":16}},"extentUtf16":{"start":{"lineNumber":154,"utf16Col":0},"end":{"lineNumber":158,"utf16Col":16}}},{"name":"train_server","kind":"function","identStart":5503,"identEnd":5515,"extentStart":5499,"extentEnd":6236,"fullyQualifiedName":"train_server","identUtf16":{"start":{"lineNumber":160,"utf16Col":4},"end":{"lineNumber":160,"utf16Col":16}},"extentUtf16":{"start":{"lineNumber":160,"utf16Col":0},"end":{"lineNumber":176,"utf16Col":10}}},{"name":"train_clients","kind":"function","identStart":6242,"identEnd":6255,"extentStart":6238,"extentEnd":7313,"fullyQualifiedName":"train_clients","identUtf16":{"start":{"lineNumber":178,"utf16Col":4},"end":{"lineNumber":178,"utf16Col":17}},"extentUtf16":{"start":{"lineNumber":178,"utf16Col":0},"end":{"lineNumber":197,"utf16Col":10}}},{"name":"encrypt_export_weights","kind":"function","identStart":7319,"identEnd":7341,"extentStart":7315,"extentEnd":8396,"fullyQualifiedName":"encrypt_export_weights","identUtf16":{"start":{"lineNumber":199,"utf16Col":4},"end":{"lineNumber":199,"utf16Col":26}},"extentUtf16":{"start":{"lineNumber":199,"utf16Col":0},"end":{"lineNumber":227,"utf16Col":10}}},{"name":"export_weights","kind":"function","identStart":8402,"identEnd":8416,"extentStart":8398,"extentEnd":8750,"fullyQualifiedName":"export_weights","identUtf16":{"start":{"lineNumber":229,"utf16Col":4},"end":{"lineNumber":229,"utf16Col":18}},"extentUtf16":{"start":{"lineNumber":229,"utf16Col":0},"end":{"lineNumber":239,"utf16Col":10}}},{"name":"export_encrypted_clients_weights","kind":"function","identStart":8756,"identEnd":8788,"extentStart":8752,"extentEnd":9027,"fullyQualifiedName":"export_encrypted_clients_weights","identUtf16":{"start":{"lineNumber":241,"utf16Col":4},"end":{"lineNumber":241,"utf16Col":36}},"extentUtf16":{"start":{"lineNumber":241,"utf16Col":0},"end":{"lineNumber":248,"utf16Col":10}}},{"name":"get_sk","kind":"function","identStart":9033,"identEnd":9039,"extentStart":9029,"extentEnd":9316,"fullyQualifiedName":"get_sk","identUtf16":{"start":{"lineNumber":250,"utf16Col":4},"end":{"lineNumber":250,"utf16Col":10}},"extentUtf16":{"start":{"lineNumber":250,"utf16Col":0},"end":{"lineNumber":260,"utf16Col":13}}},{"name":"decrypt_import_weights","kind":"function","identStart":9322,"identEnd":9344,"extentStart":9318,"extentEnd":9947,"fullyQualifiedName":"decrypt_import_weights","identUtf16":{"start":{"lineNumber":262,"utf16Col":4},"end":{"lineNumber":262,"utf16Col":26}},"extentUtf16":{"start":{"lineNumber":262,"utf16Col":0},"end":{"lineNumber":280,"utf16Col":16}}},{"name":"decrypt_weights","kind":"function","identStart":9953,"identEnd":9968,"extentStart":9949,"extentEnd":10406,"fullyQualifiedName":"decrypt_weights","identUtf16":{"start":{"lineNumber":282,"utf16Col":4},"end":{"lineNumber":282,"utf16Col":19}},"extentUtf16":{"start":{"lineNumber":282,"utf16Col":0},"end":{"lineNumber":299,"utf16Col":22}}},{"name":"import_encrypted_weights","kind":"function","identStart":10413,"identEnd":10437,"extentStart":10409,"extentEnd":11076,"fullyQualifiedName":"import_encrypted_weights","identUtf16":{"start":{"lineNumber":302,"utf16Col":4},"end":{"lineNumber":302,"utf16Col":28}},"extentUtf16":{"start":{"lineNumber":302,"utf16Col":0},"end":{"lineNumber":327,"utf16Col":22}}},{"name":"gen_pk","kind":"function","identStart":11082,"identEnd":11088,"extentStart":11078,"extentEnd":11464,"fullyQualifiedName":"gen_pk","identUtf16":{"start":{"lineNumber":329,"utf16Col":4},"end":{"lineNumber":329,"utf16Col":10}},"extentUtf16":{"start":{"lineNumber":329,"utf16Col":0},"end":{"lineNumber":343,"utf16Col":13}}},{"name":"get_pk","kind":"function","identStart":11470,"identEnd":11476,"extentStart":11466,"extentEnd":11705,"fullyQualifiedName":"get_pk","identUtf16":{"start":{"lineNumber":345,"utf16Col":4},"end":{"lineNumber":345,"utf16Col":10}},"extentUtf16":{"start":{"lineNumber":345,"utf16Col":0},"end":{"lineNumber":354,"utf16Col":14}}},{"name":"gen_rekey","kind":"function","identStart":11711,"identEnd":11720,"extentStart":11707,"extentEnd":11925,"fullyQualifiedName":"gen_rekey","identUtf16":{"start":{"lineNumber":356,"utf16Col":4},"end":{"lineNumber":356,"utf16Col":13}},"extentUtf16":{"start":{"lineNumber":356,"utf16Col":0},"end":{"lineNumber":363,"utf16Col":13}}},{"name":"aggregate_encrypted_weights","kind":"function","identStart":11931,"identEnd":11958,"extentStart":11927,"extentEnd":12824,"fullyQualifiedName":"aggregate_encrypted_weights","identUtf16":{"start":{"lineNumber":365,"utf16Col":4},"end":{"lineNumber":365,"utf16Col":31}},"extentUtf16":{"start":{"lineNumber":365,"utf16Col":0},"end":{"lineNumber":389,"utf16Col":22}}}]}},"copilotInfo":null,"csrf_tokens":{"/FebriantiW/Homomorphic-Encryption-and-Federated-Learning-based-Privacy-Preserving-CNN-Training-/branches":{"post":"m9R8os864AjeNxB8oxqqLOQ_kuKeJqh0_Icjq2vZiN4uGZhzKWuiy_oXslh91ZIIH298wumtkkhbP1J52sxy-g"},"/repos/preferences":{"post":"meUsoq-jxlAaRegyFyMXwn9x6va3ggaBeqmWufurXgqwqV4uMHpmGXagKHUYKbWTZJpS66A-SYCXZ5xqsvEKog"}}},"title":"Homomorphic-Encryption-and-Federated-Learning-based-Privacy-Preserving-CNN-Training-/FLPyfhelin.py at main · FebriantiW/Homomorphic-Encryption-and-Federated-Learning-based-Privacy-Preserving-CNN-Training-"}
NameError: name 'false' is not defined. Did you mean: 'False'?