//package com.jdt.fedlearn.client.train;
//
//import ch.qos.logback.core.joran.spi.JoranException;
//import com.jdt.fedlearn.client.dao.ModelDao;
//import com.jdt.fedlearn.client.entity.train.QueryProgress;
//import com.jdt.fedlearn.client.entity.train.TrainRequest;
//import com.jdt.fedlearn.client.service.TrainService;
//import com.jdt.fedlearn.client.util.ConfigUtil;
//import com.jdt.fedlearn.client.util.JsonUtil;
//import com.jdt.fedlearn.core.entity.SingleElement;
//import com.jdt.fedlearn.core.entity.boost.*;
//import com.jdt.fedlearn.core.entity.common.TrainInit;
//import com.jdt.fedlearn.core.model.Model;
//import com.jdt.fedlearn.core.util.SerializeUtil;
//import mockit.Mock;
//import mockit.MockUp;
//import org.apache.commons.lang3.StringUtils;
//import org.slf4j.Logger;
//import org.slf4j.LoggerFactory;
//import org.testng.Assert;
//import org.testng.annotations.BeforeClass;
//import org.testng.annotations.Test;;
//
//import java.io.IOException;
//import java.util.*;
//import java.util.concurrent.ConcurrentHashMap;
//import java.util.stream.Collectors;
//
///**
// * @className: TrainTest
// * @description:
// * @author: geyan29
// * @date: 2020/12/10 15:56
// **/
//public class TrainTest {
//
//    private static Logger logger = LoggerFactory.getLogger(TrainTest.class);
//    private static final Random random = new Random();
//    private static final String STAMP = "stamp";
//    private static final String ID_MAP = "idMap";
//    private static final String STATUS = "status";
//    private static final String COMPLETE = "complete";
//    private static final String UID = "uid";
//    private static final String DATA = "data";
//    private static Map<Integer, String[]> idsMap = new ConcurrentHashMap<>(8);
//
//    @BeforeClass
//    public void init() throws IOException, JoranException {
//        ConfigUtil.init("src/test/resources/client.properties");
//        mockSaveModel();
//        mockCongfigInit();
//        String[] ids1 = {"8088", "19459", "17750", "13821", "16683", "10760", "19790", "13415", "1692", "9656", "19576",
//                "18683", "16680", "10018", "12090", "7284", "14483", "15498", "10171", "11060", "8875", "17274", "9810", "6334", "5338", "11606", "2680", "939", "8484"};
//
//        String[] ids2 = {"8088", "19459", "17750", "13821", "16683", "10760", "19790", "13415", "1692", "9656", "19576",
//                "18683", "16680", "10018", "12090"};
//        idsMap.put(1, ids1);
//        idsMap.put(0, ids2);
////        mockSubmit();
//    }
//
//    @Test(invocationCount = 1, threadPoolSize = 1)
//    public static void train() throws IOException, InterruptedException {
//        TrainService trainService = new TrainService();
//        int key;
//        long count = random.nextLong();//每次推理的uid的个数
//        key = (int) count & 01;
//        String[] uids = idsMap.get(key);
//        String modelToken = getModelToken();
////        Map<Integer, String> sortMap = getSortMap(uids);
//        Map<Long, String> sortMap = getSortMap1(uids);
//        sortMap.put(Long.valueOf(uids.length), UID);
//        String s1 = JsonUtil.object2json(sortMap);
//        String dataStr = "{\"idMap\":" + s1 + ",\"dataset\":\"cl1_train.csv\"}";
//        String data = "{\"parameter\":{\"@clazz\":\"com.jdt.fedlearn.core.parameter.FgbParameter\",\"numBoostRound\":1,\"firstRoundPred\":\"AVG\",\"earlyStoppingRound\":10,\"minChildWeight\":1.0,\"minSampleSplit\":10,\"lambda\":1.0,\"gamma\":0.0,\"evalMetric\":[\"RMSE\"],\"maxDepth\":2,\"eta\":0.3,\"objective\":\"countPoisson\",\"numBin\":33,\"maximize\":true,\"rowSample\":1.0,\"colSample\":1.0,\"scalePosWeight\":1.0,\"bitLength\":\"bit1024\",\"numClass\":1,\"catFeatures\":\"1\",\"randomizedResponseProbability\":0.0,\"differentialPrivacyParameter\":0.0},\"idMap\":{\"0\":\"10018\",\"1\":\"10171\",\"2\":\"10760\",\"3\":\"11060\",\"4\":\"11606\",\"5\":\"12090\",\"6\":\"13415\",\"7\":\"13821\",\"8\":\"14483\",\"9\":\"15498\",\"10\":\"16680\",\"11\":\"16683\",\"12\":\"1692\",\"13\":\"17274\",\"14\":\"17750\",\"15\":\"18683\",\"16\":\"19459\",\"17\":\"19576\",\"18\":\"19790\",\"19\":\"2680\",\"20\":\"5338\",\"21\":\"5599\",\"22\":\"6334\",\"23\":\"7284\",\"24\":\"8088\",\"25\":\"8484\",\"26\":\"8875\",\"27\":\"939\",\"28\":\"9656\",\"29\":\"9810\"},\"featureList\":{\"featureList\":[{\"name\":\"uid\",\"type\":\"float\",\"frequency\":1,\"id\":0},{\"name\":\"Population\",\"type\":\"float\",\"frequency\":1,\"id\":0},{\"name\":\"MedInc\",\"type\":\"float\",\"frequency\":1,\"id\":0}],\"label\":null,\"dataset\":\"cl1_train.csv\"},\"modelToken\":\"111-FederatedGB-210119112159\",\"others\":{\"newTree\":true,\"dataset\":\"cl1_train.csv\"}}";
//        TrainInit trainInit = new TrainInit();
//        trainInit.parseJson(data);
//        String strData = SerializeUtil.serializeToString(trainInit);
////        String content1 = "{\"phase\":0,\"dataIndex\":0,\"isGzip\":false,\"dataNum\":1,\"modelToken\":\"111-FederatedGB-210119112159\",\"algorithm\":\"FederatedGB\",\"status\":\"RUNNING\"}";
//        String content1 = "{\"phase\":0,\"data\":\"{\\\"parameter\\\":{\\\"@clazz\\\":\\\"com.jdt.fedlearn.core.parameter.FgbParameter\\\",\\\"numBoostRound\\\":1,\\\"firstRoundPred\\\":\\\"AVG\\\",\\\"earlyStoppingRound\\\":10,\\\"minChildWeight\\\":1.0,\\\"minSampleSplit\\\":10,\\\"lambda\\\":1.0,\\\"gamma\\\":0.0,\\\"evalMetric\\\":[\\\"RMSE\\\"],\\\"maxDepth\\\":2,\\\"eta\\\":0.3,\\\"objective\\\":\\\"countPoisson\\\",\\\"numBin\\\":33,\\\"maximize\\\":true,\\\"rowSample\\\":1.0,\\\"colSample\\\":1.0,\\\"scalePosWeight\\\":1.0,\\\"bitLength\\\":\\\"bit1024\\\",\\\"numClass\\\":1,\\\"catFeatures\\\":\\\"1\\\",\\\"randomizedResponseProbability\\\":0.0,\\\"differentialPrivacyParameter\\\":0.0},\\\"idMap\\\":{\\\"0\\\":\\\"10018\\\",\\\"1\\\":\\\"10171\\\",\\\"2\\\":\\\"10760\\\",\\\"3\\\":\\\"11060\\\",\\\"4\\\":\\\"11606\\\",\\\"5\\\":\\\"12090\\\",\\\"6\\\":\\\"13415\\\",\\\"7\\\":\\\"13821\\\",\\\"8\\\":\\\"14483\\\",\\\"9\\\":\\\"15498\\\",\\\"10\\\":\\\"16680\\\",\\\"11\\\":\\\"16683\\\",\\\"12\\\":\\\"1692\\\",\\\"13\\\":\\\"17274\\\",\\\"14\\\":\\\"17750\\\",\\\"15\\\":\\\"18683\\\",\\\"16\\\":\\\"19459\\\",\\\"17\\\":\\\"19576\\\",\\\"18\\\":\\\"19790\\\",\\\"19\\\":\\\"2680\\\",\\\"20\\\":\\\"5338\\\",\\\"21\\\":\\\"5599\\\",\\\"22\\\":\\\"6334\\\",\\\"23\\\":\\\"7284\\\",\\\"24\\\":\\\"8088\\\",\\\"25\\\":\\\"8484\\\",\\\"26\\\":\\\"8875\\\",\\\"27\\\":\\\"939\\\",\\\"28\\\":\\\"9656\\\",\\\"29\\\":\\\"9810\\\"},\\\"featureList\\\":{\\\"featureList\\\":[{\\\"name\\\":\\\"uid\\\",\\\"type\\\":\\\"float\\\",\\\"frequency\\\":1,\\\"id\\\":0},{\\\"name\\\":\\\"Population\\\",\\\"type\\\":\\\"float\\\",\\\"frequency\\\":1,\\\"id\\\":0},{\\\"name\\\":\\\"MedInc\\\",\\\"type\\\":\\\"float\\\",\\\"frequency\\\":1,\\\"id\\\":0}],\\\"label\\\":null,\\\"dataset\\\":\\\"cl1_train.csv\\\"},\\\"modelToken\\\":\\\"111-FederatedGB-210119112159\\\",\\\"others\\\":{\\\"newTree\\\":true,\\\"dataset\\\":\\\"cl1_train.csv\\\"}}\",\"dataIndex\":0,\"isGzip\":false,\"dataNum\":1,\"modelToken\":\"111-FederatedGB-210119112159\",\"algorithm\":\"FederatedGB\",\"status\":\"RUNNING\"}";
//        String train = sendRequest(content1, strData, modelToken);
//        Assert.assertTrue("init_success".equalsIgnoreCase(train));
//
//        content1 = "{\"phase\":1,\"data\":\"{\\\"client\\\":null,\\\"parameter\\\":null,\\\"newTree\\\":true,\\\"pubKey\\\":null,\\\"idMap\\\":null,\\\"featureList\\\":null,\\\"modelToken\\\":null}\",\"dataIndex\":0,\"isGzip\":false,\"dataNum\":1,\"modelToken\":\"111-FederatedGB-210119113045\",\"algorithm\":\"FederatedGB\",\"status\":\"RUNNING\"}";
//        String data1 = (String) JsonUtil.parseJson(content1).get(DATA);
//        BoostP1Req boostP1Req = new BoostP1Req();
//        boostP1Req.parseJson(data1);
//        boostP1Req.setIdMap(sortMap);
//        Map map1 = JsonUtil.parseJson(data1);
//        map1.put(ID_MAP, sortMap);
//        train = sendRequest(content1, SerializeUtil.serializeToString(boostP1Req), modelToken);
//        Map<String, Object> resultMap = JsonUtil.parseJson(train);
//        Map<String, Object> res = null;
//        do {
//            QueryProgress query = new QueryProgress(train);
//            res = trainService.queryProgress(query);
//            logger.info("phase1查询结果：{}", res);
//            Thread.sleep(1000l);
//        } while (!(COMPLETE).equalsIgnoreCase((String) res.get(STATUS)));
//        Assert.assertTrue(resultMap.get(STAMP) != null);
//
//
//
//        BoostP2Req boostP2Req = new BoostP2Req();
//        String p2Data;
//        if (key == 1) {
//            p2Data = "{\"client\":null,\"instanceSpace\":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28],\"gh\":[{\"first\":\"704434763857040861462651888669494057197325579768937662656356847044862734643938846406006866127924877599593664949596476394063246352825108242269325625610970944689073757407730154554282861569101212277858567578052270018819119074887538054404183164009097387514862791528168394044948876671858724768305528138540977996842872716141205145,-14\",\"second\":\"424082400990971111377507198532176411924481723267916689866110145207845712214934113093137848568428706696421246091966071108484661701881663768298875446746730382013045395827619811410612713754623396305411000830958702370185238966714531715390454994170038109046781029387986046069740186844882823501362065777453285890229956650339401729,-13\"},{\"first\":\"2710744840386643342342572746240101972657691267027572723496982217656870701912003978673468458339547936473422768927902569549338562447958779915597944150547476639400603113537936138076285793953161457813493063267632219708549403788112424575334314394400663405122682303843920103219753573809045123536088923562228479157212747516123742761,-14\",\"second\":\"424082400990971111377507198532176411924481723267916689866110145207845712214934113093137848568428706696421246091966071108484661701881663768298875446746730382013045395827619811410612713754623396305411000830958702370185238966714531715390454994170038109046781029387986046069740186844882823501362065777453285890229956650339401729,-13\"},{\"first\":\"8867086620609769043922956081077918827655724107338014545587556535710730644276482135088051776837109190822821242523703893749978186117133704243605201014613807742672331890596464933592696077058487463708186957624622233705402135055656358290062927713375897791823063421169637265413045504562996196142916402315516093376344031473955688126253858643140845677018855533205019972679226093982257585270762403819950243112830398533170896591941886059878389849938628970202551678644647075240224655030921781177196551294425487701664594504187115684158235772160449977103663062097539559883534191216853652676976739943747836134383041556046078689346,-14\",\"second\":\"424082400990971111377507198532176411924481723267916689866110145207845712214934113093137848568428706696421246091966071108484661701881663768298875446746730382013045395827619811410612713754623396305411000830958702370185238966714531715390454994170038109046781029387986046069740186844882823501362065777453285890229956650339401729,-13\"},{\"first\":\"2105752470767968372032564013433939719778176237413375491854359409936675064358406134665912832698490815676294519747756328652250658987816003153760724081654145782284737752661325639178430022119991529898261965076051637707741116949206913341305616906602687492305956631248768059141899882270865870143691893564874415287371830709130725281,-14\",\"second\":\"424082400990971111377507198532176411924481723267916689866110145207845712214934113093137848568428706696421246091966071108484661701881663768298875446746730382013045395827619811410612713754623396305411000830958702370185238966714531715390454994170038109046781029387986046069740186844882823501362065777453285890229956650339401729,-13\"},{\"first\":\"8867086620609769043922956081077918827655724107338014545587556535710730644276482135088051776837109190822821242523703893749978186117133704243605201014613807742672331890596464933592696077058487463708186957624622233705402135055656358290062927713375897791823063421169637265413045504562996196142918638877216283032568360467548401324169707175931381723039561315760992933702649588087360511974807091216604831562572756862264446146235547403338174748668975579845031374292036732389519572358077934231321391826803383539002871250942116536530028965103108353930160204286642296876878277838609465817511952096591319960018194707942405962866,-14\",\"second\":\"424082400990971111377507198532176411924481723267916689866110145207845712214934113093137848568428706696421246091966071108484661701881663768298875446746730382013045395827619811410612713754623396305411000830958702370185238966714531715390454994170038109046781029387986046069740186844882823501362065777453285890229956650339401729,-13\"},{\"first\":\"4174792089053974728626208558161480026077332543838707754956955246514278684665059622280758484684412514148389219068823094762901872548429184944295282229497729377595897464869572240574158697093411343723205219776823719183106328171800049987985205126136805130639212468828454749286621256964627868678443385952399349415887332251579263081,-14\",\"second\":\"424082400990971111377507198532176411924481723267916689866110145207845712214934113093137848568428706696421246091966071108484661701881663768298875446746730382013045395827619811410612713754623396305411000830958702370185238966714531715390454994170038109046781029387986046069740186844882823501362065777453285890229956650339401729,-13\"},{\"first\":\"3412834906974417520131255716715102964821534185964727939980294793641422713973145441452966199878504008536380341245734334132943589403639193345512815053400860283958500880068474560415287455753344437655041666152837548815005872410651532418361501971481339925855601484892003672621830867947975252830528823390532640054135073090171460545,-14\",\"second\":\"424082400990971111377507198532176411924481723267916689866110145207845712214934113093137848568428706696421246091966071108484661701881663768298875446746730382013045395827619811410612713754623396305411000830958702370185238966714531715390454994170038109046781029387986046069740186844882823501362065777453285890229956650339401729,-13\"},{\"first\":\"2220125555948810725581804074219461616084457828202696988253184724128315513464702068348335889346320123825787552075052473252262928268213663244934128641342391209872845123949487925378715351821907569468822664168991171419184819307553599309949860195832715689586865072550073623628276570891548246662385390555928514321715554188859436457,-14\",\"second\":\"424082400990971111377507198532176411924481723267916689866110145207845712214934113093137848568428706696421246091966071108484661701881663768298875446746730382013045395827619811410612713754623396305411000830958702370185238966714531715390454994170038109046781029387986046069740186844882823501362065777453285890229956650339401729,-13\"},{\"first\":\"8867086620609769043922956081077918827655724107338014545587556535710730644276482135088051776837109190822821242523703893749978186117133704243605201014613807742672331890596464933592696077058487463708186957624622233705402135055656358290062927713375897791823063421169637265413045504562996196142916402315516093376344031473955688126253858643140845677018855533205019972679226093982257585270762403819950243112830398533170896591941886059878389849938628970202551678644647075240224655030921781177196551294425487701664594504187115684158235772160449977103663062097539559883534191216853652676976739943747836134383041556046078689346,-14\",\"second\":\"424082400990971111377507198532176411924481723267916689866110145207845712214934113093137848568428706696421246091966071108484661701881663768298875446746730382013045395827619811410612713754623396305411000830958702370185238966714531715390454994170038109046781029387986046069740186844882823501362065777453285890229956650339401729,-13\"},{\"first\":\"8867086620609769043922956081077918827655724107338014545587556535710730644276482135088051776837109190822821242523703893749978186117133704243605201014613807742672331890596464933592696077058487463708186957624622233705402135055656358290062927713375897791823063421169637265413045504562996196142915868830043130408944861521904375525021360190434277873213619450705507437713978964875586415977534317606053626243244830277931884869082068158789760728960547629984990077613805949752739808859294429851434298735842717035132546435618184931069286226716258768678005636475068668636992597252138020776741700315567934842666223890802847213938,-16\",\"second\":\"424082400990971111377507198532176411924481723267916689866110145207845712214934113093137848568428706696421246091966071108484661701881663768298875446746730382013045395827619811410612713754623396305411000830958702370185238966714531715390454994170038109046781029387986046069740186844882823501362065777453285890229956650339401729,-13\"},{\"first\":\"8867086620609769043922956081077918827655724107338014545587556535710730644276482135088051776837109190822821242523703893749978186117133704243605201014613807742672331890596464933592696077058487463708186957624622233705402135055656358290062927713375897791823063421169637265413045504562996196142919970994443909996762640652998606599194089703014037132907898773834531206022404158270695149551715462061694712875393270337481606111685040098121211211152010722710522895560311562060018062627455388976453455813659917293034557056886957050172948914038564382357872527114984088655346905588094429043946952294028243275842972730109219917026,-14\",\"second\":\"424082400990971111377507198532176411924481723267916689866110145207845712214934113093137848568428706696421246091966071108484661701881663768298875446746730382013045395827619811410612713754623396305411000830958702370185238966714531715390454994170038109046781029387986046069740186844882823501362065777453285890229956650339401729,-13\"},{\"first\":\"2792470741147600364160577565827858889079152519000479157380687662219486634351471786505627431698516110154905650830040397627038210812543137711610972986766260438818433417940396028733755157185810506930836565782520973206513851704836223803576701564556203721284277876613980259174173466984463707707564150207263576499899982992846147877,-14\",\"second\":\"424082400990971111377507198532176411924481723267916689866110145207845712214934113093137848568428706696421246091966071108484661701881663768298875446746730382013045395827619811410612713754623396305411000830958702370185238966714531715390454994170038109046781029387986046069740186844882823501362065777453285890229956650339401729,-13\"},{\"first\":\"8867086620609769043922956081077918827655724107338014545587556535710730644276482135088051776837109190822821242523703893749978186117133704243605201014613807742672331890596464933592696077058487463708186957624622233705402135055656358290062927713375897791823063421169637265413045504562996196142920990662654634047946591883280271382149215065021838013331047645901864153158730813602555621728262421487042583910173085935788862440940176173307302494650970309523237516298864917240677017265671443906131874434553237906980969177902177370076969042996199596370692910266533312935381159723367447347852199197279038717998468562609450677362,-15\",\"second\":\"424082400990971111377507198532176411924481723267916689866110145207845712214934113093137848568428706696421246091966071108484661701881663768298875446746730382013045395827619811410612713754623396305411000830958702370185238966714531715390454994170038109046781029387986046069740186844882823501362065777453285890229956650339401729,-13\"},{\"first\":\"3928626579732302023934570961449009505261838071899881284067108723236082603338312930798469096084740356943392822444126475777689421069783765265594092617022678522512445953824306147554681102302708646479691373481012140741582019441782782164624265856647038276082799023145349230159714879322282179808733631240076513578873853059252459521,-16\",\"second\":\"424082400990971111377507198532176411924481723267916689866110145207845712214934113093137848568428706696421246091966071108484661701881663768298875446746730382013045395827619811410612713754623396305411000830958702370185238966714531715390454994170038109046781029387986046069740186844882823501362065777453285890229956650339401729,-13\"},{\"first\":\"2651149439831558115042569649648181433705515799341147371989884412762968074309615412098446152726300561480267528422097837573107105350132551592783775609571283523168696811357857064755452940277700872804317609395172801420051019107138697045105640463216518069280793737309990695944935222794242529081320150615951087264746759583589634981,-14\",\"second\":\"424082400990971111377507198532176411924481723267916689866110145207845712214934113093137848568428706696421246091966071108484661701881663768298875446746730382013045395827619811410612713754623396305411000830958702370185238966714531715390454994170038109046781029387986046069740186844882823501362065777453285890229956650339401729,-13\"},{\"first\":\"8867086620609769043922956081077918827655724107338014545587556535710730644276482135088051776837109190822821242523703893749978186117133704243605201014613807742672331890596464933592696077058487463708186957624622233705402135055656358290062927713375897791823063421169637265413045504562996196142919900182533469873189360759613068256232350212935354719868147744829977200070214901069737116903293976501529814694841242949073502257331109638432227677014814823174237600631712725724126033730853606631231013942908640637789615398949302010496569805563566144962601934880215726951942208621765743806806294530314270770380832620382110272066,-14\",\"second\":\"424082400990971111377507198532176411924481723267916689866110145207845712214934113093137848568428706696421246091966071108484661701881663768298875446746730382013045395827619811410612713754623396305411000830958702370185238966714531715390454994170038109046781029387986046069740186844882823501362065777453285890229956650339401729,-13\"},{\"first\":\"8867086620609769043922956081077918827655724107338014545587556535710730644276482135088051776837109190822821242523703893749978186117133704243605201014613807742672331890596464933592696077058487463708186957624622233705402135055656358290062927713375897791823063421169637265413045504562996196142920086787670619694898383110153783341369189873374522493088554269606734921166009293553138951482411318333916459754058745252578153531833335878976697566506121661324846019835275693937356363851693718644186232857441745788577899191965907767171416614377472724246523660427466180472485748057059632466839900987493562731631121552893642647922,-14\",\"second\":\"424082400990971111377507198532176411924481723267916689866110145207845712214934113093137848568428706696421246091966071108484661701881663768298875446746730382013045395827619811410612713754623396305411000830958702370185238966714531715390454994170038109046781029387986046069740186844882823501362065777453285890229956650339401729,-13\"},{\"first\":\"3683703253819423806799185634099639059417842887334982431458841104840434966703400537711967874144725836844674161183267929933925378837785700702932894087822687176684343695691506595644985307924696760902768091833553018289218777259432936302831373965463063139191552436893015201379838227914652694947879491163172107552360125197203794233,-14\",\"second\":\"424082400990971111377507198532176411924481723267916689866110145207845712214934113093137848568428706696421246091966071108484661701881663768298875446746730382013045395827619811410612713754623396305411000830958702370185238966714531715390454994170038109046781029387986046069740186844882823501362065777453285890229956650339401729,-13\"},{\"first\":\"487282980268404973535245856715664130181709969152034052811904681245182457241101507875412844393042011974742808158294437219950417008890633204964342202515879440766500459427905301390346729699022641812477007413720761943449956555725102599309596971075991536146751889932822476513443934284534824308932869773694804405275567907086072021,-13\",\"second\":\"424082400990971111377507198532176411924481723267916689866110145207845712214934113093137848568428706696421246091966071108484661701881663768298875446746730382013045395827619811410612713754623396305411000830958702370185238966714531715390454994170038109046781029387986046069740186844882823501362065777453285890229956650339401729,-13\"},{\"first\":\"556537142249106786709120966088007534384988235151565136131701961212815528110801343756499262401227178843084991088329889044896620465466631483751839234016342076004191231558625352027680621163824437980270738127581738232589134638653440813129120620166415521604668698584570031357392760953593855310936164968119128373098213252951082049,-13\",\"second\":\"424082400990971111377507198532176411924481723267916689866110145207845712214934113093137848568428706696421246091966071108484661701881663768298875446746730382013045395827619811410612713754623396305411000830958702370185238966714531715390454994170038109046781029387986046069740186844882823501362065777453285890229956650339401729,-13\"},{\"first\":\"8867086620609769043922956081077918827655724107338014545587556535710730644276482135088051776837109190822821242523703893749978186117133704243605201014613807742672331890596464933592696077058487463708186957624622233705402135055656358290062927713375897791823063421169637265413045504562996196142918627565207412673580240953710974886903101188446426091457695526148664447521693885703804930624808661410730085246929659897386498277690780635855479870049558784735602889067220549937351492575161042096220893700156852543356033676685992460215291136783731180457670423302383111310378721520213064461771429723139633293199892835441994996114,-14\",\"second\":\"424082400990971111377507198532176411924481723267916689866110145207845712214934113093137848568428706696421246091966071108484661701881663768298875446746730382013045395827619811410612713754623396305411000830958702370185238966714531715390454994170038109046781029387986046069740186844882823501362065777453285890229956650339401729,-13\"},{\"first\":\"8867086620609769043922956081077918827655724107338014545587556535710730644276482135088051776837109190822821242523703893749978186117133704243605201014613807742672331890596464933592696077058487463708186957624622233705402135055656358290062927713375897791823063421169637265413045504562996196142919922944441483667789941250944512695989227077938278517181662435127121212818236052263539953483342862476839686166473559750251009585920376283137327020195956752284715093476488257785466365705076377352736617006908228000408462085574802365037883425142113184704568569783926740282938084580805006232791813224604662515031848327587386371266,-14\",\"second\":\"424082400990971111377507198532176411924481723267916689866110145207845712214934113093137848568428706696421246091966071108484661701881663768298875446746730382013045395827619811410612713754623396305411000830958702370185238966714531715390454994170038109046781029387986046069740186844882823501362065777453285890229956650339401729,-13\"},{\"first\":\"5265998030883432761806914244596898589853635900826225718214713309591776282116373464934331519454639991564107981717146253135266245924019806851041774696051828813680264588368961925884624627370762727102178207442442544592130619396065913569103148089528947698298893806076730379187592644741391399108386085206218644779231656849300557905,-14\",\"second\":\"424082400990971111377507198532176411924481723267916689866110145207845712214934113093137848568428706696421246091966071108484661701881663768298875446746730382013045395827619811410612713754623396305411000830958702370185238966714531715390454994170038109046781029387986046069740186844882823501362065777453285890229956650339401729,-13\"},{\"first\":\"3595453648951447010690957566484823926646254803926076312614529532403788600448330731936984265432895773997393900235147325275464556425226765500122937390007134660686413296852787799998845939295734219168588073572210810559097406345173919948523434223299887317182989657425397018592424112472044933290453824150468603031069257506102139793,-14\",\"second\":\"424082400990971111377507198532176411924481723267916689866110145207845712214934113093137848568428706696421246091966071108484661701881663768298875446746730382013045395827619811410612713754623396305411000830958702370185238966714531715390454994170038109046781029387986046069740186844882823501362065777453285890229956650339401729,-13\"},{\"first\":\"2883959566498626447663539463264619073218720172545265807031937711940445390950120371376273383891911391303476693496689873749726270052084198561502880881504021323154580124601840675682144777111168015455247640403318110949293015982638807862170282694634277663950565823208707401574260519323345286200128909489104455180414972116935290533,-14\",\"second\":\"424082400990971111377507198532176411924481723267916689866110145207845712214934113093137848568428706696421246091966071108484661701881663768298875446746730382013045395827619811410612713754623396305411000830958702370185238966714531715390454994170038109046781029387986046069740186844882823501362065777453285890229956650339401729,-13\"},{\"first\":\"8867086620609769043922956081077918827655724107338014545587556535710730644276482135088051776837109190822821242523703893749978186117133704243605201014613807742672331890596464933592696077058487463708186957624622233705402135055656358290062927713375897791823063421169637265413045504562996196142916402315516093376344031473955688126253858643140845677018855533205019972679226093982257585270762403819950243112830398533170896591941886059878389849938628970202551678644647075240224655030921781177196551294425487701664594504187115684158235772160449977103663062097539559883534191216853652676976739943747836134383041556046078689346,-14\",\"second\":\"424082400990971111377507198532176411924481723267916689866110145207845712214934113093137848568428706696421246091966071108484661701881663768298875446746730382013045395827619811410612713754623396305411000830958702370185238966714531715390454994170038109046781029387986046069740186844882823501362065777453285890229956650339401729,-13\"},{\"first\":\"1475060360812258587988703921079016543628009867650591066663268999384647951915218297473144906245535805281403050379735698313603855850467039787697365202579273415745352833739332720375209447349277628275273634643264774874023329483020511649966527248500883534203912412285461344298145099541170356872984413871266848016126344390349111937,-14\",\"second\":\"424082400990971111377507198532176411924481723267916689866110145207845712214934113093137848568428706696421246091966071108484661701881663768298875446746730382013045395827619811410612713754623396305411000830958702370185238966714531715390454994170038109046781029387986046069740186844882823501362065777453285890229956650339401729,-13\"},{\"first\":\"483343234870726460956077096479485501934942921561634182921171487478739910550719850431883298767314804935709491979806657721450026572235151207987972768990162512022326012361047448030804806700983909445056361427562013658198019772680167741018695075022573926917331063128327071169366173642513630792016192734082137820987556588954352073,-13\",\"second\":\"424082400990971111377507198532176411924481723267916689866110145207845712214934113093137848568428706696421246091966071108484661701881663768298875446746730382013045395827619811410612713754623396305411000830958702370185238966714531715390454994170038109046781029387986046069740186844882823501362065777453285890229956650339401729,-13\"},{\"first\":\"8867086620609769043922956081077918827655724107338014545587556535710730644276482135088051776837109190822821242523703893749978186117133704243605201014613807742672331890596464933592696077058487463708186957624622233705402135055656358290062927713375897791823063421169637265413045504562996196142916402329086716638108713836826064837471017995932054701780703135378053486109892582893816455325013922747080874450298914227457273743915833816621096977199622846521433960329060439599543724755733503769202458719718761975900267080763671619138181315250254009634200821349377356846328074112686244202646326930078612403652146336506417343170,-14\",\"second\":\"424082400990971111377507198532176411924481723267916689866110145207845712214934113093137848568428706696421246091966071108484661701881663768298875446746730382013045395827619811410612713754623396305411000830958702370185238966714531715390454994170038109046781029387986046069740186844882823501362065777453285890229956650339401729,-13\"}],\"pubKey\":\"94165209183698886125647930740928706488830740199506383862029267374859234299696389556974606931045436541176939758016855266050595774514434259283318750354647793002326271644712954203140834187251905508333704915226714498063307116452087911582337075115942261815234155394979353130788843194683495841115675912259172151193:false\",\"newTree\":true}";
//            boostP2Req.parseJson(p2Data);
//        } else {
//            //TODO
//            p2Data = "{\"client\":null,\"instanceSpace\":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14],\"gh\":[{\"first\":\"704434763857040861462651888669494057197325579768937662656356847044862734643938846406006866127924877599593664949596476394063246352825108242269325625610970944689073757407730154554282861569101212277858567578052270018819119074887538054404183164009097387514862791528168394044948876671858724768305528138540977996842872716141205145,-14\",\"second\":\"424082400990971111377507198532176411924481723267916689866110145207845712214934113093137848568428706696421246091966071108484661701881663768298875446746730382013045395827619811410612713754623396305411000830958702370185238966714531715390454994170038109046781029387986046069740186844882823501362065777453285890229956650339401729,-13\"},{\"first\":\"2710744840386643342342572746240101972657691267027572723496982217656870701912003978673468458339547936473422768927902569549338562447958779915597944150547476639400603113537936138076285793953161457813493063267632219708549403788112424575334314394400663405122682303843920103219753573809045123536088923562228479157212747516123742761,-14\",\"second\":\"424082400990971111377507198532176411924481723267916689866110145207845712214934113093137848568428706696421246091966071108484661701881663768298875446746730382013045395827619811410612713754623396305411000830958702370185238966714531715390454994170038109046781029387986046069740186844882823501362065777453285890229956650339401729,-13\"},{\"first\":\"8867086620609769043922956081077918827655724107338014545587556535710730644276482135088051776837109190822821242523703893749978186117133704243605201014613807742672331890596464933592696077058487463708186957624622233705402135055656358290062927713375897791823063421169637265413045504562996196142916402315516093376344031473955688126253858643140845677018855533205019972679226093982257585270762403819950243112830398533170896591941886059878389849938628970202551678644647075240224655030921781177196551294425487701664594504187115684158235772160449977103663062097539559883534191216853652676976739943747836134383041556046078689346,-14\",\"second\":\"424082400990971111377507198532176411924481723267916689866110145207845712214934113093137848568428706696421246091966071108484661701881663768298875446746730382013045395827619811410612713754623396305411000830958702370185238966714531715390454994170038109046781029387986046069740186844882823501362065777453285890229956650339401729,-13\"},{\"first\":\"2105752470767968372032564013433939719778176237413375491854359409936675064358406134665912832698490815676294519747756328652250658987816003153760724081654145782284737752661325639178430022119991529898261965076051637707741116949206913341305616906602687492305956631248768059141899882270865870143691893564874415287371830709130725281,-14\",\"second\":\"424082400990971111377507198532176411924481723267916689866110145207845712214934113093137848568428706696421246091966071108484661701881663768298875446746730382013045395827619811410612713754623396305411000830958702370185238966714531715390454994170038109046781029387986046069740186844882823501362065777453285890229956650339401729,-13\"},{\"first\":\"8867086620609769043922956081077918827655724107338014545587556535710730644276482135088051776837109190822821242523703893749978186117133704243605201014613807742672331890596464933592696077058487463708186957624622233705402135055656358290062927713375897791823063421169637265413045504562996196142918638877216283032568360467548401324169707175931381723039561315760992933702649588087360511974807091216604831562572756862264446146235547403338174748668975579845031374292036732389519572358077934231321391826803383539002871250942116536530028965103108353930160204286642296876878277838609465817511952096591319960018194707942405962866,-14\",\"second\":\"424082400990971111377507198532176411924481723267916689866110145207845712214934113093137848568428706696421246091966071108484661701881663768298875446746730382013045395827619811410612713754623396305411000830958702370185238966714531715390454994170038109046781029387986046069740186844882823501362065777453285890229956650339401729,-13\"},{\"first\":\"4174792089053974728626208558161480026077332543838707754956955246514278684665059622280758484684412514148389219068823094762901872548429184944295282229497729377595897464869572240574158697093411343723205219776823719183106328171800049987985205126136805130639212468828454749286621256964627868678443385952399349415887332251579263081,-14\",\"second\":\"424082400990971111377507198532176411924481723267916689866110145207845712214934113093137848568428706696421246091966071108484661701881663768298875446746730382013045395827619811410612713754623396305411000830958702370185238966714531715390454994170038109046781029387986046069740186844882823501362065777453285890229956650339401729,-13\"},{\"first\":\"3412834906974417520131255716715102964821534185964727939980294793641422713973145441452966199878504008536380341245734334132943589403639193345512815053400860283958500880068474560415287455753344437655041666152837548815005872410651532418361501971481339925855601484892003672621830867947975252830528823390532640054135073090171460545,-14\",\"second\":\"424082400990971111377507198532176411924481723267916689866110145207845712214934113093137848568428706696421246091966071108484661701881663768298875446746730382013045395827619811410612713754623396305411000830958702370185238966714531715390454994170038109046781029387986046069740186844882823501362065777453285890229956650339401729,-13\"},{\"first\":\"2220125555948810725581804074219461616084457828202696988253184724128315513464702068348335889346320123825787552075052473252262928268213663244934128641342391209872845123949487925378715351821907569468822664168991171419184819307553599309949860195832715689586865072550073623628276570891548246662385390555928514321715554188859436457,-14\",\"second\":\"424082400990971111377507198532176411924481723267916689866110145207845712214934113093137848568428706696421246091966071108484661701881663768298875446746730382013045395827619811410612713754623396305411000830958702370185238966714531715390454994170038109046781029387986046069740186844882823501362065777453285890229956650339401729,-13\"},{\"first\":\"8867086620609769043922956081077918827655724107338014545587556535710730644276482135088051776837109190822821242523703893749978186117133704243605201014613807742672331890596464933592696077058487463708186957624622233705402135055656358290062927713375897791823063421169637265413045504562996196142916402315516093376344031473955688126253858643140845677018855533205019972679226093982257585270762403819950243112830398533170896591941886059878389849938628970202551678644647075240224655030921781177196551294425487701664594504187115684158235772160449977103663062097539559883534191216853652676976739943747836134383041556046078689346,-14\",\"second\":\"424082400990971111377507198532176411924481723267916689866110145207845712214934113093137848568428706696421246091966071108484661701881663768298875446746730382013045395827619811410612713754623396305411000830958702370185238966714531715390454994170038109046781029387986046069740186844882823501362065777453285890229956650339401729,-13\"},{\"first\":\"8867086620609769043922956081077918827655724107338014545587556535710730644276482135088051776837109190822821242523703893749978186117133704243605201014613807742672331890596464933592696077058487463708186957624622233705402135055656358290062927713375897791823063421169637265413045504562996196142915868830043130408944861521904375525021360190434277873213619450705507437713978964875586415977534317606053626243244830277931884869082068158789760728960547629984990077613805949752739808859294429851434298735842717035132546435618184931069286226716258768678005636475068668636992597252138020776741700315567934842666223890802847213938,-16\",\"second\":\"424082400990971111377507198532176411924481723267916689866110145207845712214934113093137848568428706696421246091966071108484661701881663768298875446746730382013045395827619811410612713754623396305411000830958702370185238966714531715390454994170038109046781029387986046069740186844882823501362065777453285890229956650339401729,-13\"},{\"first\":\"8867086620609769043922956081077918827655724107338014545587556535710730644276482135088051776837109190822821242523703893749978186117133704243605201014613807742672331890596464933592696077058487463708186957624622233705402135055656358290062927713375897791823063421169637265413045504562996196142919970994443909996762640652998606599194089703014037132907898773834531206022404158270695149551715462061694712875393270337481606111685040098121211211152010722710522895560311562060018062627455388976453455813659917293034557056886957050172948914038564382357872527114984088655346905588094429043946952294028243275842972730109219917026,-14\",\"second\":\"424082400990971111377507198532176411924481723267916689866110145207845712214934113093137848568428706696421246091966071108484661701881663768298875446746730382013045395827619811410612713754623396305411000830958702370185238966714531715390454994170038109046781029387986046069740186844882823501362065777453285890229956650339401729,-13\"},{\"first\":\"2792470741147600364160577565827858889079152519000479157380687662219486634351471786505627431698516110154905650830040397627038210812543137711610972986766260438818433417940396028733755157185810506930836565782520973206513851704836223803576701564556203721284277876613980259174173466984463707707564150207263576499899982992846147877,-14\",\"second\":\"424082400990971111377507198532176411924481723267916689866110145207845712214934113093137848568428706696421246091966071108484661701881663768298875446746730382013045395827619811410612713754623396305411000830958702370185238966714531715390454994170038109046781029387986046069740186844882823501362065777453285890229956650339401729,-13\"},{\"first\":\"8867086620609769043922956081077918827655724107338014545587556535710730644276482135088051776837109190822821242523703893749978186117133704243605201014613807742672331890596464933592696077058487463708186957624622233705402135055656358290062927713375897791823063421169637265413045504562996196142920990662654634047946591883280271382149215065021838013331047645901864153158730813602555621728262421487042583910173085935788862440940176173307302494650970309523237516298864917240677017265671443906131874434553237906980969177902177370076969042996199596370692910266533312935381159723367447347852199197279038717998468562609450677362,-15\",\"second\":\"424082400990971111377507198532176411924481723267916689866110145207845712214934113093137848568428706696421246091966071108484661701881663768298875446746730382013045395827619811410612713754623396305411000830958702370185238966714531715390454994170038109046781029387986046069740186844882823501362065777453285890229956650339401729,-13\"},{\"first\":\"3928626579732302023934570961449009505261838071899881284067108723236082603338312930798469096084740356943392822444126475777689421069783765265594092617022678522512445953824306147554681102302708646479691373481012140741582019441782782164624265856647038276082799023145349230159714879322282179808733631240076513578873853059252459521,-16\",\"second\":\"424082400990971111377507198532176411924481723267916689866110145207845712214934113093137848568428706696421246091966071108484661701881663768298875446746730382013045395827619811410612713754623396305411000830958702370185238966714531715390454994170038109046781029387986046069740186844882823501362065777453285890229956650339401729,-13\"},{\"first\":\"2651149439831558115042569649648181433705515799341147371989884412762968074309615412098446152726300561480267528422097837573107105350132551592783775609571283523168696811357857064755452940277700872804317609395172801420051019107138697045105640463216518069280793737309990695944935222794242529081320150615951087264746759583589634981,-14\",\"second\":\"424082400990971111377507198532176411924481723267916689866110145207845712214934113093137848568428706696421246091966071108484661701881663768298875446746730382013045395827619811410612713754623396305411000830958702370185238966714531715390454994170038109046781029387986046069740186844882823501362065777453285890229956650339401729,-13\"}],\"pubKey\":\"94165209183698886125647930740928706488830740199506383862029267374859234299696389556974606931045436541176939758016855266050595774514434259283318750354647793002326271644712954203140834187251905508333704915226714498063307116452087911582337075115942261815234155394979353130788843194683495841115675912259172151193:false\",\"newTree\":true}";
//            boostP2Req.parseJson(p2Data);
//        }
//        content1 = "{\"phase\":2,\"dataIndex\":0,\"isGzip\":false,\"dataNum\":1,\"algorithm\":\"FederatedGB\",\"status\":\"RUNNING\"}";
//        Map map = JsonUtil.parseJson(content1);
//        map.put(DATA, SerializeUtil.serializeToString(boostP2Req));
//        train = sendRequest(JsonUtil.object2json(map), SerializeUtil.serializeToString(boostP2Req), modelToken);
//        resultMap = JsonUtil.parseJson(train);
//        Map<String, Object> res2;
//        do {
//            QueryProgress query = new QueryProgress(train);
//            res2 = trainService.queryProgress(query);
//            logger.info("phase2查询结果：{}", res2);
//            Thread.sleep(1000l);
//        } while (!(COMPLETE).equalsIgnoreCase((String) res2.get(STATUS)));
//        Assert.assertTrue(resultMap.get(STAMP) != null);
//
//
//        String p3Data = "{\\\"client\\\":{\\\"ip\\\":\\\"127.0.0.1\\\",\\\"port\\\":8095,\\\"protocol\\\":\\\"http\\\",\\\"token\\\":-2055640199,\\\"hasLabel\\\":false,\\\"dataset\\\":\\\"cl1_train.csv\\\"},\\\"dataList\\\":[{\\\"featureList\\\":[{\\\"length\\\":30,\\\"feature\\\":\\\"1\\\",\\\"ghL\\\":[{\\\"first\\\":\\\"4076924121718098885970314705853366064292619957729540148054449093633482111294542800613577143941302038961766260461785135310431214739618439624987359125162929703525797502372029220700456940319031055464551217238736898101952558225154693572181080541795866302974381979274240552699869904782296853068116475766278415772189488939662521465,-14\\\",\\\"second\\\":\\\"476089335518255937026469602105509558676266428474666905500852848377611220752523763848800194437560882079849247870866307037632511144362473538941551389664600994106077241135376733028587506534300972209554081420763021530541309968000610718506500584590649885757685901928571126892072810097104128503393627182150259800882003311180382209,-13\\\"},{\\\"first\\\":\\\"11175252833539370679787886832533860770780389584078650606713036355014283889050243039654017422507079457146541209799501239709226736366596884520877990689298158050848418953498190355267346383829110860455247550841658471531645337458459739755058504361674427169163762092190485486386892055301853848499230352274946295409153824011756282076743542263148092777630873622556322715733329203937801119679948322969990683160551771803813077819921296827796145968544608645685209741175068368673346511346676916101050366527284430842093484019282569484556133145097834282730272447069112448805288013863705115139724624744083649894749285271255438583634,-14\\\",\\\"second\\\":\\\"476089335518255937026469602105509558676266428474666905500852848377611220752523763848800194437560882079849247870866307037632511144362473538941551389664600994106077241135376733028587506534300972209554081420763021530541309968000610718506500584590649885757685901928571126892072810097104128503393627182150259800882003311180382209,-13\\\"},{\\\"first\\\":\\\"11175252833539370679787886832533860770780389584078650606713036355014283889050243039654017422507079457146541209799501239709226736366596884520877990689298158050848418953498190355267346383829110860455247550841658471531645337458459739755058504361674427169163762092190485486386892055301853848499230168338961434302051057912068260979930248641653532985220259622875400717364223970783000127859043025599749769842992969035059834536935332983045904581070197339791878495736209522767266301012820922162975228440668832962530218584346235070909861082678149143294628091056036014423284834480126391867279543980017274359944068850285214376850,-14\\\",\\\"second\\\":\\\"476089335518255937026469602105509558676266428474666905500852848377611220752523763848800194437560882079849247870866307037632511144362473538941551389664600994106077241135376733028587506534300972209554081420763021530541309968000610718506500584590649885757685901928571126892072810097104128503393627182150259800882003311180382209,-13\\\"},{\\\"first\\\":\\\"11175252833539370679787886832533860770780389584078650606713036355014283889050243039654017422507079457146541209799501239709226736366596884520877990689298158050848418953498190355267346383829110860455247550841658471531645337458459739755058504361674427169163762092190485486386892055301853848499230643017941339733477918745468629478158918141833859094525687926659955695366903908292921217508870866279539800632354848404951363470006657070178822747380558963202812639908535337410596187480720552348374627413518528628348809029015446006565266052815133332526283975268349624449392445421494276239141194193686662458400854922804388451170,-15\\\",\\\"second\\\":\\\"476089335518255937026469602105509558676266428474666905500852848377611220752523763848800194437560882079849247870866307037632511144362473538941551389664600994106077241135376733028587506534300972209554081420763021530541309968000610718506500584590649885757685901928571126892072810097104128503393627182150259800882003311180382209,-13\\\"},{\\\"first\\\":\\\"11175252833539370679787886832533860770780389584078650606713036355014283889050243039654017422507079457146541209799501239709226736366596884520877990689298158050848418953498190355267346383829110860455247550841658471531645337458459739755058504361674427169163762092190485486386892055301853848499226215961117461710095655312646221829763387078806062499552886358241382580728756156230084072285946674144576042115954211575977812395708466104750771312561316146097207279165900827759939321322342123688441497905141775941665226882645086222653251596988970315551298617993719938822168801059055432739914481302323739348142514423789539184898,-14\\\",\\\"second\\\":\\\"476089335518255937026469602105509558676266428474666905500852848377611220752523763848800194437560882079849247870866307037632511144362473538941551389664600994106077241135376733028587506534300972209554081420763021530541309968000610718506500584590649885757685901928571126892072810097104128503393627182150259800882003311180382209,-13\\\"},{\\\"first\\\":\\\"11175252833539370679787886832533860770780389584078650606713036355014283889050243039654017422507079457146541209799501239709226736366596884520877990689298158050848418953498190355267346383829110860455247550841658471531645337458459739755058504361674427169163762092190485486386892055301853848499226215961117461710095655312646221829763387078806062499552886358241382580728756156230084072285946674144576042115954211575977812395708466104750771312561316146097207279165900827759939321322342123688441497905141775941665226882645086222653251596988970315551298617993719938822168801059055432739914481302323739348142514423789539184898,-14\\\",\\\"second\\\":\\\"476089335518255937026469602105509558676266428474666905500852848377611220752523763848800194437560882079849247870866307037632511144362473538941551389664600994106077241135376733028587506534300972209554081420763021530541309968000610718506500584590649885757685901928571126892072810097104128503393627182150259800882003311180382209,-13\\\"},{\\\"first\\\":\\\"543382549562996839478636042153951275224342244626140123195519144470914516225236327562507814180890515559707090327848941114248693534756952661502198307364526438466582394051531202205953117952866365386213553423954126515987311706367681956000912940408165723887807984595585746469274086559579064908389058528214011077458319600136579051,-13\\\",\\\"second\\\":\\\"476089335518255937026469602105509558676266428474666905500852848377611220752523763848800194437560882079849247870866307037632511144362473538941551389664600994106077241135376733028587506534300972209554081420763021530541309968000610718506500584590649885757685901928571126892072810097104128503393627182150259800882003311180382209,-13\\\"},{\\\"first\\\":\\\"2984647895551451067079598147162937174150006856349521198940301073741336529215793060037738198857449266572128286866928147491481668669590413380738548307171482189400251679427453266291837231938805525256099449964686408613135600947538842794448542548158092226813331021792618562092625259973606937540807290191230182937336555116575838473,-14\\\",\\\"second\\\":\\\"476089335518255937026469602105509558676266428474666905500852848377611220752523763848800194437560882079849247870866307037632511144362473538941551389664600994106077241135376733028587506534300972209554081420763021530541309968000610718506500584590649885757685901928571126892072810097104128503393627182150259800882003311180382209,-13\\\"},{\\\"first\\\":\\\"732295925871634297963399532988865314269954977437331807111293894542450851202068991732225881191528892730500824677989145299829163264295152683982426884954648408752419499233610001588490730926217670090419181754805219666854929895262374448253255258215036063105722908310446152672860316509552907098184215844551784783674241982629494297,-14\\\",\\\"second\\\":\\\"476089335518255937026469602105509558676266428474666905500852848377611220752523763848800194437560882079849247870866307037632511144362473538941551389664600994106077241135376733028587506534300972209554081420763021530541309968000610718506500584590649885757685901928571126892072810097104128503393627182150259800882003311180382209,-13\\\"},{\\\"first\\\":\\\"3076396173001765117573574918919698167115730710687218893401785949380568634503523060670842280030692951028106745816582363741252232707702829027304658610397465238315971937456579624473816137246666513387754245868272126371831864441542459599142619057442490624805638523665217784771171279966149648819077103805827034642292961801833975149,-14\\\",\\\"second\\\":\\\"476089335518255937026469602105509558676266428474666905500852848377611220752523763848800194437560882079849247870866307037632511144362473538941551389664600994106077241135376733028587506534300972209554081420763021530541309968000610718506500584590649885757685901928571126892072810097104128503393627182150259800882003311180382209,-13\\\"},{\\\"first\\\":\\\"621129628626454402208460794971163536737506720020838975224407819492936950200891080322711596334891740935782364775290126595043978125351558402225885992531945214227854908622729395713221054985242597148433081814974552094649196594972730661681416081174081914800876286296765194770740436390762428846482869486201677189755931416413662736,-13\\\",\\\"second\\\":\\\"476089335518255937026469602105509558676266428474666905500852848377611220752523763848800194437560882079849247870866307037632511144362473538941551389664600994106077241135376733028587506534300972209554081420763021530541309968000610718506500584590649885757685901928571126892072810097104128503393627182150259800882003311180382209,-13\\\"},{\\\"first\\\":\\\"538959657304065659090010971637910098522016772360150767576406530723945557685246419918225703945873599536370750085955218538489533546122694320367069393432904778840435769261313384048610740978843288667636985681562964817982437063952292068292447174774119021384893300470962284132067611141310979309949884511613317513221945350954118600,-13\\\",\\\"second\\\":\\\"476089335518255937026469602105509558676266428474666905500852848377611220752523763848800194437560882079849247870866307037632511144362473538941551389664600994106077241135376733028587506534300972209554081420763021530541309968000610718506500584590649885757685901928571126892072810097104128503393627182150259800882003311180382209,-13\\\"},{\\\"first\\\":\\\"3179104641843986938276032795488735851623587818119278498789261765671502846734889277264073565701242547947130248419331794585307976942775996714395675483664717310526215540570290363879612120811604566075270299335360782107154341544926571370485428161647682291369091927793031344161871582867006460694274185720783292763823014153704950765,-14\\\",\\\"second\\\":\\\"476089335518255937026469602105509558676266428474666905500852848377611220752523763848800194437560882079849247870866307037632511144362473538941551389664600994106077241135376733028587506534300972209554081420763021530541309968000610718506500584590649885757685901928571126892072810097104128503393627182150259800882003311180382209,-13\\\"},{\\\"first\\\":\\\"3772838097490195926695799834748760145074866917023658259692408664541552237490098997480388088498030255965729176561813313801883656737271553996537932623117086775263547548875732451513834615156286397926816167249657945505957262004609783185058776806774940929151940885135281766979832104597555810447720303162501932010588339542166524405,-14\\\",\\\"second\\\":\\\"476089335518255937026469602105509558676266428474666905500852848377611220752523763848800194437560882079849247870866307037632511144362473538941551389664600994106077241135376733028587506534300972209554081420763021530541309968000610718506500584590649885757685901928571126892072810097104128503393627182150259800882003311180382209,-13\\\"},{\\\"first\\\":\\\"2305462872611764533063735776353388220675843749719077564639362830739250839519639756900396341743807367997230143052963150528242400925289745264561749404335737884228540157749203319434771842173107543741919816577246799647703410939211095320753265833547585181562981299488133536489485446125757387603141025978349159894392498398820634193,-14\\\",\\\"second\\\":\\\"476089335518255937026469602105509558676266428474666905500852848377611220752523763848800194437560882079849247870866307037632511144362473538941551389664600994106077241135376733028587506534300972209554081420763021530541309968000610718506500584590649885757685901928571126892072810097104128503393627182150259800882003311180382209,-13\\\"},{\\\"first\\\":\\\"11175252833539370679787886832533860770780389584078650606713036355014283889050243039654017422507079457146541209799501239709226736366596884520877990689298158050848418953498190355267346383829110860455247550841658471531645337458459739755058504361674427169163762092190485486386892055301853848499228726801395673453861437162001668802628948022942970358164723878326317170037351968962381060688410043971177768280673649922231063646967595867003494023015275667977081335163059283804930596404571405388739313840004739380690504255628047387155291201507475104134018811494290657840155477154887675823760857553892602510238690322488070081618,-14\\\",\\\"second\\\":\\\"476089335518255937026469602105509558676266428474666905500852848377611220752523763848800194437560882079849247870866307037632511144362473538941551389664600994106077241135376733028587506534300972209554081420763021530541309968000610718506500584590649885757685901928571126892072810097104128503393627182150259800882003311180382209,-13\\\"},{\\\"first\\\":\\\"11175252833539370679787886832533860770780389584078650606713036355014283889050243039654017422507079457146541209799501239709226736366596884520877990689298158050848418953498190355267346383829110860455247550841658471531645337458459739755058504361674427169163762092190485486386892055301853848499228714102149550810616685576929200903217503824826125545608252188177655393039436535972786062957994062721178935848343442501863208607566369189542093719177923209426900469639307106482607175222188851688328882010254300893331641884433662239225676333666940663116617086835410270450480594536319465111715268819016681763218707992841387498546,-14\\\",\\\"second\\\":\\\"476089335518255937026469602105509558676266428474666905500852848377611220752523763848800194437560882079849247870866307037632511144362473538941551389664600994106077241135376733028587506534300972209554081420763021530541309968000610718506500584590649885757685901928571126892072810097104128503393627182150259800882003311180382209,-13\\\"},{\\\"first\\\":\\\"3977852112025722551167435466192429832034553740685564066674074581786763828447494991743738416225670084585182161883775888918693358111812144627554209110697423441692832788336063772430504114629432977877319433111504711563728905206876689080565256877994489612605496220797579423497896054470681642977202303654124298928269273593484486625,-14\\\",\\\"second\\\":\\\"476089335518255937026469602105509558676266428474666905500852848377611220752523763848800194437560882079849247870866307037632511144362473538941551389664600994106077241135376733028587506534300972209554081420763021530541309968000610718506500584590649885757685901928571126892072810097104128503393627182150259800882003311180382209,-13\\\"},{\\\"first\\\":\\\"2433861990324926656490679758800160454402736444308802967712723010305024327160340822296438692892069186699439287182501105135784189006430380603175387130814397165596241388474532035563916452746028469047374175224640293190135471641514302021069438421073878317424236340393845737733047926334208045987809460307593101101813396851468251529,-14\\\",\\\"second\\\":\\\"476089335518255937026469602105509558676266428474666905500852848377611220752523763848800194437560882079849247870866307037632511144362473538941551389664600994106077241135376733028587506534300972209554081420763021530541309968000610718506500584590649885757685901928571126892072810097104128503393627182150259800882003311180382209,-13\\\"},{\\\"first\\\":\\\"11175252833539370679787886832533860770780389584078650606713036355014283889050243039654017422507079457146541209799501239709226736366596884520877990689298158050848418953498190355267346383829110860455247550841658471531645337458459739755058504361674427169163762092190485486386892055301853848499226215976352305212596218481145715365131909096581448616088604511185863200884949328797536931338938577891427085907406306258609863716522009131072665746965949358683689725831089047802682154129253681890913656840074876430253081982374557559980750788519992684923595820180188217910265944632550221666468032467444269293979136219903776082562,-14\\\",\\\"second\\\":\\\"476089335518255937026469602105509558676266428474666905500852848377611220752523763848800194437560882079849247870866307037632511144362473538941551389664600994106077241135376733028587506534300972209554081420763021530541309968000610718506500584590649885757685901928571126892072810097104128503393627182150259800882003311180382209,-13\\\"},{\\\"first\\\":\\\"1597426446568672348745189921562442319938071093425891264417659820913548205789610576981967092994238886954612401590306458803474504725755734321390092091641339305530283329580823998019736997254024941259006871775678050315448867471925850470538005556957105462915196561155373336747269860822723546794123493298786087029983689094316893809,-14\\\",\\\"second\\\":\\\"476089335518255937026469602105509558676266428474666905500852848377611220752523763848800194437560882079849247870866307037632511144362473538941551389664600994106077241135376733028587506534300972209554081420763021530541309968000610718506500584590649885757685901928571126892072810097104128503393627182150259800882003311180382209,-13\\\"},{\\\"first\\\":\\\"11175252833539370679787886832533860770780389584078650606713036355014283889050243039654017422507079457146541209799501239709226736366596884520877990689298158050848418953498190355267346383829110860455247550841658471531645337458459739755058504361674427169163762092190485486386892055301853848499230489098068355511424467835126612782302937677112642127002670132589512711670578738257766198550022694219978236832921388019392197063023342337249133061301075623429888267251397285446161478982299607091518301901281837661981758179697297747287610640595274784529999429134832503053323827969633695336260883124548074076264394992667066605154,-15\\\",\\\"second\\\":\\\"476089335518255937026469602105509558676266428474666905500852848377611220752523763848800194437560882079849247870866307037632511144362473538941551389664600994106077241135376733028587506534300972209554081420763021530541309968000610718506500584590649885757685901928571126892072810097104128503393627182150259800882003311180382209,-13\\\"},{\\\"first\\\":\\\"5853262086335615036567444364291815979896222643821577494242780883995394167511769165033874024758426167477500976830388534047308024536956710480625073133306737159678076020075635622909404763803555121271331537652178011992520485037563204378827475210183953773743883318158932481727677001547593330895034392714231354154782009286668218657,-14\\\",\\\"second\\\":\\\"476089335518255937026469602105509558676266428474666905500852848377611220752523763848800194437560882079849247870866307037632511144362473538941551389664600994106077241135376733028587506534300972209554081420763021530541309968000610718506500584590649885757685901928571126892072810097104128503393627182150259800882003311180382209,-13\\\"},{\\\"first\\\":\\\"11175252833539370679787886832533860770780389584078650606713036355014283889050243039654017422507079457146541209799501239709226736366596884520877990689298158050848418953498190355267346383829110860455247550841658471531645337458459739755058504361674427169163762092190485486386892055301853848499231312259457567514269847316641935465995177516605482932746120721698091611450463841874534248753690298452281134196266004980613871434960741663228521286174804500831858373795294600474566052017840382391697092580857293177820734030308855547842284580133968344450585577621276973942777119245164772969358398554671618967072897244293323011042,-15\\\",\\\"second\\\":\\\"476089335518255937026469602105509558676266428474666905500852848377611220752523763848800194437560882079849247870866307037632511144362473538941551389664600994106077241135376733028587506534300972209554081420763021530541309968000610718506500584590649885757685901928571126892072810097104128503393627182150259800882003311180382209,-13\\\"},{\\\"first\\\":\\\"11175252833539370679787886832533860770780389584078650606713036355014283889050243039654017422507079457146541209799501239709226736366596884520877990689298158050848418953498190355267346383829110860455247550841658471531645337458459739755058504361674427169163762092190485486386892055301853848499230142785668875846797644143267255123817656047893042367901146327106603479803485315557022684723672726856184674076163521883470132458359866755247065324068982869078618392668392574975576097800259521713005598413031571440366880702549893266882248272837164693632576692448355664822263806918370282219006122106580616129619474036356056962818,-14\\\",\\\"second\\\":\\\"476089335518255937026469602105509558676266428474666905500852848377611220752523763848800194437560882079849247870866307037632511144362473538941551389664600994106077241135376733028587506534300972209554081420763021530541309968000610718506500584590649885757685901928571126892072810097104128503393627182150259800882003311180382209,-13\\\"},{\\\"first\\\":\\\"1928582310289202062677010204275797137005333962135226626078132364656981617976558717285048702754164408878203185522116663711162029612129866600618680239473398162877031462515781179734096757483026097194149234114328604465900843174192455688770646588749194556046091378460071088803535426077858873693578922650911836250721254861635113441,-14\\\",\\\"second\\\":\\\"476089335518255937026469602105509558676266428474666905500852848377611220752523763848800194437560882079849247870866307037632511144362473538941551389664600994106077241135376733028587506534300972209554081420763021530541309968000610718506500584590649885757685901928571126892072810097104128503393627182150259800882003311180382209,-13\\\"},{\\\"first\\\":\\\"11175252833539370679787886832533860770780389584078650606713036355014283889050243039654017422507079457146541209799501239709226736366596884520877990689298158050848418953498190355267346383829110860455247550841658471531645337458459739755058504361674427169163762092190485486386892055301853848499226215961117461710095655312646221829763387078806062499552886358241382580728756156230084072285946674144576042115954211575977812395708466104750771312561316146097207279165900827759939321322342123688441497905141775941665226882645086222653251596988970315551298617993719938822168801059055432739914481302323739348142514423789539184898,-14\\\",\\\"second\\\":\\\"476089335518255937026469602105509558676266428474666905500852848377611220752523763848800194437560882079849247870866307037632511144362473538941551389664600994106077241135376733028587506534300972209554081420763021530541309968000610718506500584590649885757685901928571126892072810097104128503393627182150259800882003311180382209,-13\\\"},{\\\"first\\\":\\\"2917744070766656722187350467104444513796990631929002953382341090454457599765882389607344596926146153420066924191523777044477199281163588682333817330696115111989813336645537808324065065270633608231254244866779228864270704411858521860268890417386923213785772059545122777944144278364442678585624623992069927664616543454504070893,-14\\\",\\\"second\\\":\\\"476089335518255937026469602105509558676266428474666905500852848377611220752523763848800194437560882079849247870866307037632511144362473538941551389664600994106077241135376733028587506534300972209554081420763021530541309968000610718506500584590649885757685901928571126892072810097104128503393627182150259800882003311180382209,-13\\\"},{\\\"first\\\":\\\"4628237160648543363171374220802608625772302952941295999445428548627978818746362294877412075985790128343751851395912606216606943523550444617187961952518732319115481988788102949721742641153501106491526425876612902205987084465502142203139730503874457136854145706258819256310315399569373900326846999721453590105604010084494369993,-14\\\",\\\"second\\\":\\\"476089335518255937026469602105509558676266428474666905500852848377611220752523763848800194437560882079849247870866307037632511144362473538941551389664600994106077241135376733028587506534300972209554081420763021530541309968000610718506500584590649885757685901928571126892072810097104128503393627182150259800882003311180382209,-13\\\"},{\\\"first\\\":\\\"11175252833539370679787886832533860770780389584078650606713036355014283889050243039654017422507079457146541209799501239709226736366596884520877990689298158050848418953498190355267346383829110860455247550841658471531645337458459739755058504361674427169163762092190485486386892055301853848499230222281529372388462877738751307770970150789340836219649974642560202886344845847064773061410832887691482099145337213029853826645644059168341546293994973072054955263391981332202508635278961351706194890865407031292740772203947867573313144074886572871649667209140780170067064396583157860163524196557464386717426564514799886081378,-14\\\",\\\"second\\\":\\\"476089335518255937026469602105509558676266428474666905500852848377611220752523763848800194437560882079849247870866307037632511144362473538941551389664600994106077241135376733028587506534300972209554081420763021530541309968000610718506500584590649885757685901928571126892072810097104128503393627182150259800882003311180382209,-13\\\"}]},{\\\"length\\\":30,\\\"feature\\\":\\\"2\\\",\\\"ghL\\\":[{\\\"first\\\":\\\"4076924121718098885970314705853366064292619957729540148054449093633482111294542800613577143941302038961766260461785135310431214739618439624987359125162929703525797502372029220700456940319031055464551217238736898101952558225154693572181080541795866302974381979274240552699869904782296853068116475766278415772189488939662521465,-14\\\",\\\"second\\\":\\\"476089335518255937026469602105509558676266428474666905500852848377611220752523763848800194437560882079849247870866307037632511144362473538941551389664600994106077241135376733028587506534300972209554081420763021530541309968000610718506500584590649885757685901928571126892072810097104128503393627182150259800882003311180382209,-13\\\"},{\\\"first\\\":\\\"621129628626454402208460794971163536737506720020838975224407819492936950200891080322711596334891740935782364775290126595043978125351558402225885992531945214227854908622729395713221054985242597148433081814974552094649196594972730661681416081174081914800876286296765194770740436390762428846482869486201677189755931416413662736,-13\\\",\\\"second\\\":\\\"476089335518255937026469602105509558676266428474666905500852848377611220752523763848800194437560882079849247870866307037632511144362473538941551389664600994106077241135376733028587506534300972209554081420763021530541309968000610718506500584590649885757685901928571126892072810097104128503393627182150259800882003311180382209,-13\\\"},{\\\"first\\\":\\\"5853262086335615036567444364291815979896222643821577494242780883995394167511769165033874024758426167477500976830388534047308024536956710480625073133306737159678076020075635622909404763803555121271331537652178011992520485037563204378827475210183953773743883318158932481727677001547593330895034392714231354154782009286668218657,-14\\\",\\\"second\\\":\\\"476089335518255937026469602105509558676266428474666905500852848377611220752523763848800194437560882079849247870866307037632511144362473538941551389664600994106077241135376733028587506534300972209554081420763021530541309968000610718506500584590649885757685901928571126892072810097104128503393627182150259800882003311180382209,-13\\\"},{\\\"first\\\":\\\"543382549562996839478636042153951275224342244626140123195519144470914516225236327562507814180890515559707090327848941114248693534756952661502198307364526438466582394051531202205953117952866365386213553423954126515987311706367681956000912940408165723887807984595585746469274086559579064908389058528214011077458319600136579051,-13\\\",\\\"second\\\":\\\"476089335518255937026469602105509558676266428474666905500852848377611220752523763848800194437560882079849247870866307037632511144362473538941551389664600994106077241135376733028587506534300972209554081420763021530541309968000610718506500584590649885757685901928571126892072810097104128503393627182150259800882003311180382209,-13\\\"},{\\\"first\\\":\\\"538959657304065659090010971637910098522016772360150767576406530723945557685246419918225703945873599536370750085955218538489533546122694320367069393432904778840435769261313384048610740978843288667636985681562964817982437063952292068292447174774119021384893300470962284132067611141310979309949884511613317513221945350954118600,-13\\\",\\\"second\\\":\\\"476089335518255937026469602105509558676266428474666905500852848377611220752523763848800194437560882079849247870866307037632511144362473538941551389664600994106077241135376733028587506534300972209554081420763021530541309968000610718506500584590649885757685901928571126892072810097104128503393627182150259800882003311180382209,-13\\\"},{\\\"first\\\":\\\"11175252833539370679787886832533860770780389584078650606713036355014283889050243039654017422507079457146541209799501239709226736366596884520877990689298158050848418953498190355267346383829110860455247550841658471531645337458459739755058504361674427169163762092190485486386892055301853848499231312259457567514269847316641935465995177516605482932746120721698091611450463841874534248753690298452281134196266004980613871434960741663228521286174804500831858373795294600474566052017840382391697092580857293177820734030308855547842284580133968344450585577621276973942777119245164772969358398554671618967072897244293323011042,-15\\\",\\\"second\\\":\\\"476089335518255937026469602105509558676266428474666905500852848377611220752523763848800194437560882079849247870866307037632511144362473538941551389664600994106077241135376733028587506534300972209554081420763021530541309968000610718506500584590649885757685901928571126892072810097104128503393627182150259800882003311180382209,-13\\\"},{\\\"first\\\":\\\"3977852112025722551167435466192429832034553740685564066674074581786763828447494991743738416225670084585182161883775888918693358111812144627554209110697423441692832788336063772430504114629432977877319433111504711563728905206876689080565256877994489612605496220797579423497896054470681642977202303654124298928269273593484486625,-14\\\",\\\"second\\\":\\\"476089335518255937026469602105509558676266428474666905500852848377611220752523763848800194437560882079849247870866307037632511144362473538941551389664600994106077241135376733028587506534300972209554081420763021530541309968000610718506500584590649885757685901928571126892072810097104128503393627182150259800882003311180382209,-13\\\"},{\\\"first\\\":\\\"3772838097490195926695799834748760145074866917023658259692408664541552237490098997480388088498030255965729176561813313801883656737271553996537932623117086775263547548875732451513834615156286397926816167249657945505957262004609783185058776806774940929151940885135281766979832104597555810447720303162501932010588339542166524405,-14\\\",\\\"second\\\":\\\"476089335518255937026469602105509558676266428474666905500852848377611220752523763848800194437560882079849247870866307037632511144362473538941551389664600994106077241135376733028587506534300972209554081420763021530541309968000610718506500584590649885757685901928571126892072810097104128503393627182150259800882003311180382209,-13\\\"},{\\\"first\\\":\\\"4628237160648543363171374220802608625772302952941295999445428548627978818746362294877412075985790128343751851395912606216606943523550444617187961952518732319115481988788102949721742641153501106491526425876612902205987084465502142203139730503874457136854145706258819256310315399569373900326846999721453590105604010084494369993,-14\\\",\\\"second\\\":\\\"476089335518255937026469602105509558676266428474666905500852848377611220752523763848800194437560882079849247870866307037632511144362473538941551389664600994106077241135376733028587506534300972209554081420763021530541309968000610718506500584590649885757685901928571126892072810097104128503393627182150259800882003311180382209,-13\\\"},{\\\"first\\\":\\\"3179104641843986938276032795488735851623587818119278498789261765671502846734889277264073565701242547947130248419331794585307976942775996714395675483664717310526215540570290363879612120811604566075270299335360782107154341544926571370485428161647682291369091927793031344161871582867006460694274185720783292763823014153704950765,-14\\\",\\\"second\\\":\\\"476089335518255937026469602105509558676266428474666905500852848377611220752523763848800194437560882079849247870866307037632511144362473538941551389664600994106077241135376733028587506534300972209554081420763021530541309968000610718506500584590649885757685901928571126892072810097104128503393627182150259800882003311180382209,-13\\\"},{\\\"first\\\":\\\"1928582310289202062677010204275797137005333962135226626078132364656981617976558717285048702754164408878203185522116663711162029612129866600618680239473398162877031462515781179734096757483026097194149234114328604465900843174192455688770646588749194556046091378460071088803535426077858873693578922650911836250721254861635113441,-14\\\",\\\"second\\\":\\\"476089335518255937026469602105509558676266428474666905500852848377611220752523763848800194437560882079849247870866307037632511144362473538941551389664600994106077241135376733028587506534300972209554081420763021530541309968000610718506500584590649885757685901928571126892072810097104128503393627182150259800882003311180382209,-13\\\"},{\\\"first\\\":\\\"3076396173001765117573574918919698167115730710687218893401785949380568634503523060670842280030692951028106745816582363741252232707702829027304658610397465238315971937456579624473816137246666513387754245868272126371831864441542459599142619057442490624805638523665217784771171279966149648819077103805827034642292961801833975149,-14\\\",\\\"second\\\":\\\"476089335518255937026469602105509558676266428474666905500852848377611220752523763848800194437560882079849247870866307037632511144362473538941551389664600994106077241135376733028587506534300972209554081420763021530541309968000610718506500584590649885757685901928571126892072810097104128503393627182150259800882003311180382209,-13\\\"},{\\\"first\\\":\\\"1597426446568672348745189921562442319938071093425891264417659820913548205789610576981967092994238886954612401590306458803474504725755734321390092091641339305530283329580823998019736997254024941259006871775678050315448867471925850470538005556957105462915196561155373336747269860822723546794123493298786087029983689094316893809,-14\\\",\\\"second\\\":\\\"476089335518255937026469602105509558676266428474666905500852848377611220752523763848800194437560882079849247870866307037632511144362473538941551389664600994106077241135376733028587506534300972209554081420763021530541309968000610718506500584590649885757685901928571126892072810097104128503393627182150259800882003311180382209,-13\\\"},{\\\"first\\\":\\\"2984647895551451067079598147162937174150006856349521198940301073741336529215793060037738198857449266572128286866928147491481668669590413380738548307171482189400251679427453266291837231938805525256099449964686408613135600947538842794448542548158092226813331021792618562092625259973606937540807290191230182937336555116575838473,-14\\\",\\\"second\\\":\\\"476089335518255937026469602105509558676266428474666905500852848377611220752523763848800194437560882079849247870866307037632511144362473538941551389664600994106077241135376733028587506534300972209554081420763021530541309968000610718506500584590649885757685901928571126892072810097104128503393627182150259800882003311180382209,-13\\\"},{\\\"first\\\":\\\"11175252833539370679787886832533860770780389584078650606713036355014283889050243039654017422507079457146541209799501239709226736366596884520877990689298158050848418953498190355267346383829110860455247550841658471531645337458459739755058504361674427169163762092190485486386892055301853848499228714102149550810616685576929200903217503824826125545608252188177655393039436535972786062957994062721178935848343442501863208607566369189542093719177923209426900469639307106482607175222188851688328882010254300893331641884433662239225676333666940663116617086835410270450480594536319465111715268819016681763218707992841387498546,-14\\\",\\\"second\\\":\\\"476089335518255937026469602105509558676266428474666905500852848377611220752523763848800194437560882079849247870866307037632511144362473538941551389664600994106077241135376733028587506534300972209554081420763021530541309968000610718506500584590649885757685901928571126892072810097104128503393627182150259800882003311180382209,-13\\\"},{\\\"first\\\":\\\"2917744070766656722187350467104444513796990631929002953382341090454457599765882389607344596926146153420066924191523777044477199281163588682333817330696115111989813336645537808324065065270633608231254244866779228864270704411858521860268890417386923213785772059545122777944144278364442678585624623992069927664616543454504070893,-14\\\",\\\"second\\\":\\\"476089335518255937026469602105509558676266428474666905500852848377611220752523763848800194437560882079849247870866307037632511144362473538941551389664600994106077241135376733028587506534300972209554081420763021530541309968000610718506500584590649885757685901928571126892072810097104128503393627182150259800882003311180382209,-13\\\"},{\\\"first\\\":\\\"11175252833539370679787886832533860770780389584078650606713036355014283889050243039654017422507079457146541209799501239709226736366596884520877990689298158050848418953498190355267346383829110860455247550841658471531645337458459739755058504361674427169163762092190485486386892055301853848499230142785668875846797644143267255123817656047893042367901146327106603479803485315557022684723672726856184674076163521883470132458359866755247065324068982869078618392668392574975576097800259521713005598413031571440366880702549893266882248272837164693632576692448355664822263806918370282219006122106580616129619474036356056962818,-14\\\",\\\"second\\\":\\\"476089335518255937026469602105509558676266428474666905500852848377611220752523763848800194437560882079849247870866307037632511144362473538941551389664600994106077241135376733028587506534300972209554081420763021530541309968000610718506500584590649885757685901928571126892072810097104128503393627182150259800882003311180382209,-13\\\"},{\\\"first\\\":\\\"11175252833539370679787886832533860770780389584078650606713036355014283889050243039654017422507079457146541209799501239709226736366596884520877990689298158050848418953498190355267346383829110860455247550841658471531645337458459739755058504361674427169163762092190485486386892055301853848499230222281529372388462877738751307770970150789340836219649974642560202886344845847064773061410832887691482099145337213029853826645644059168341546293994973072054955263391981332202508635278961351706194890865407031292740772203947867573313144074886572871649667209140780170067064396583157860163524196557464386717426564514799886081378,-14\\\",\\\"second\\\":\\\"476089335518255937026469602105509558676266428474666905500852848377611220752523763848800194437560882079849247870866307037632511144362473538941551389664600994106077241135376733028587506534300972209554081420763021530541309968000610718506500584590649885757685901928571126892072810097104128503393627182150259800882003311180382209,-13\\\"},{\\\"first\\\":\\\"2305462872611764533063735776353388220675843749719077564639362830739250839519639756900396341743807367997230143052963150528242400925289745264561749404335737884228540157749203319434771842173107543741919816577246799647703410939211095320753265833547585181562981299488133536489485446125757387603141025978349159894392498398820634193,-14\\\",\\\"second\\\":\\\"476089335518255937026469602105509558676266428474666905500852848377611220752523763848800194437560882079849247870866307037632511144362473538941551389664600994106077241135376733028587506534300972209554081420763021530541309968000610718506500584590649885757685901928571126892072810097104128503393627182150259800882003311180382209,-13\\\"},{\\\"first\\\":\\\"732295925871634297963399532988865314269954977437331807111293894542450851202068991732225881191528892730500824677989145299829163264295152683982426884954648408752419499233610001588490730926217670090419181754805219666854929895262374448253255258215036063105722908310446152672860316509552907098184215844551784783674241982629494297,-14\\\",\\\"second\\\":\\\"476089335518255937026469602105509558676266428474666905500852848377611220752523763848800194437560882079849247870866307037632511144362473538941551389664600994106077241135376733028587506534300972209554081420763021530541309968000610718506500584590649885757685901928571126892072810097104128503393627182150259800882003311180382209,-13\\\"},{\\\"first\\\":\\\"11175252833539370679787886832533860770780389584078650606713036355014283889050243039654017422507079457146541209799501239709226736366596884520877990689298158050848418953498190355267346383829110860455247550841658471531645337458459739755058504361674427169163762092190485486386892055301853848499230168338961434302051057912068260979930248641653532985220259622875400717364223970783000127859043025599749769842992969035059834536935332983045904581070197339791878495736209522767266301012820922162975228440668832962530218584346235070909861082678149143294628091056036014423284834480126391867279543980017274359944068850285214376850,-14\\\",\\\"second\\\":\\\"476089335518255937026469602105509558676266428474666905500852848377611220752523763848800194437560882079849247870866307037632511144362473538941551389664600994106077241135376733028587506534300972209554081420763021530541309968000610718506500584590649885757685901928571126892072810097104128503393627182150259800882003311180382209,-13\\\"},{\\\"first\\\":\\\"2433861990324926656490679758800160454402736444308802967712723010305024327160340822296438692892069186699439287182501105135784189006430380603175387130814397165596241388474532035563916452746028469047374175224640293190135471641514302021069438421073878317424236340393845737733047926334208045987809460307593101101813396851468251529,-14\\\",\\\"second\\\":\\\"476089335518255937026469602105509558676266428474666905500852848377611220752523763848800194437560882079849247870866307037632511144362473538941551389664600994106077241135376733028587506534300972209554081420763021530541309968000610718506500584590649885757685901928571126892072810097104128503393627182150259800882003311180382209,-13\\\"},{\\\"first\\\":\\\"11175252833539370679787886832533860770780389584078650606713036355014283889050243039654017422507079457146541209799501239709226736366596884520877990689298158050848418953498190355267346383829110860455247550841658471531645337458459739755058504361674427169163762092190485486386892055301853848499230489098068355511424467835126612782302937677112642127002670132589512711670578738257766198550022694219978236832921388019392197063023342337249133061301075623429888267251397285446161478982299607091518301901281837661981758179697297747287610640595274784529999429134832503053323827969633695336260883124548074076264394992667066605154,-15\\\",\\\"second\\\":\\\"476089335518255937026469602105509558676266428474666905500852848377611220752523763848800194437560882079849247870866307037632511144362473538941551389664600994106077241135376733028587506534300972209554081420763021530541309968000610718506500584590649885757685901928571126892072810097104128503393627182150259800882003311180382209,-13\\\"},{\\\"first\\\":\\\"11175252833539370679787886832533860770780389584078650606713036355014283889050243039654017422507079457146541209799501239709226736366596884520877990689298158050848418953498190355267346383829110860455247550841658471531645337458459739755058504361674427169163762092190485486386892055301853848499226215976352305212596218481145715365131909096581448616088604511185863200884949328797536931338938577891427085907406306258609863716522009131072665746965949358683689725831089047802682154129253681890913656840074876430253081982374557559980750788519992684923595820180188217910265944632550221666468032467444269293979136219903776082562,-14\\\",\\\"second\\\":\\\"476089335518255937026469602105509558676266428474666905500852848377611220752523763848800194437560882079849247870866307037632511144362473538941551389664600994106077241135376733028587506534300972209554081420763021530541309968000610718506500584590649885757685901928571126892072810097104128503393627182150259800882003311180382209,-13\\\"},{\\\"first\\\":\\\"11175252833539370679787886832533860770780389584078650606713036355014283889050243039654017422507079457146541209799501239709226736366596884520877990689298158050848418953498190355267346383829110860455247550841658471531645337458459739755058504361674427169163762092190485486386892055301853848499230352274946295409153824011756282076743542263148092777630873622556322715733329203937801119679948322969990683160551771803813077819921296827796145968544608645685209741175068368673346511346676916101050366527284430842093484019282569484556133145097834282730272447069112448805288013863705115139724624744083649894749285271255438583634,-14\\\",\\\"second\\\":\\\"476089335518255937026469602105509558676266428474666905500852848377611220752523763848800194437560882079849247870866307037632511144362473538941551389664600994106077241135376733028587506534300972209554081420763021530541309968000610718506500584590649885757685901928571126892072810097104128503393627182150259800882003311180382209,-13\\\"},{\\\"first\\\":\\\"11175252833539370679787886832533860770780389584078650606713036355014283889050243039654017422507079457146541209799501239709226736366596884520877990689298158050848418953498190355267346383829110860455247550841658471531645337458459739755058504361674427169163762092190485486386892055301853848499230643017941339733477918745468629478158918141833859094525687926659955695366903908292921217508870866279539800632354848404951363470006657070178822747380558963202812639908535337410596187480720552348374627413518528628348809029015446006565266052815133332526283975268349624449392445421494276239141194193686662458400854922804388451170,-15\\\",\\\"second\\\":\\\"476089335518255937026469602105509558676266428474666905500852848377611220752523763848800194437560882079849247870866307037632511144362473538941551389664600994106077241135376733028587506534300972209554081420763021530541309968000610718506500584590649885757685901928571126892072810097104128503393627182150259800882003311180382209,-13\\\"},{\\\"first\\\":\\\"11175252833539370679787886832533860770780389584078650606713036355014283889050243039654017422507079457146541209799501239709226736366596884520877990689298158050848418953498190355267346383829110860455247550841658471531645337458459739755058504361674427169163762092190485486386892055301853848499228726801395673453861437162001668802628948022942970358164723878326317170037351968962381060688410043971177768280673649922231063646967595867003494023015275667977081335163059283804930596404571405388739313840004739380690504255628047387155291201507475104134018811494290657840155477154887675823760857553892602510238690322488070081618,-14\\\",\\\"second\\\":\\\"476089335518255937026469602105509558676266428474666905500852848377611220752523763848800194437560882079849247870866307037632511144362473538941551389664600994106077241135376733028587506534300972209554081420763021530541309968000610718506500584590649885757685901928571126892072810097104128503393627182150259800882003311180382209,-13\\\"},{\\\"first\\\":\\\"11175252833539370679787886832533860770780389584078650606713036355014283889050243039654017422507079457146541209799501239709226736366596884520877990689298158050848418953498190355267346383829110860455247550841658471531645337458459739755058504361674427169163762092190485486386892055301853848499226215961117461710095655312646221829763387078806062499552886358241382580728756156230084072285946674144576042115954211575977812395708466104750771312561316146097207279165900827759939321322342123688441497905141775941665226882645086222653251596988970315551298617993719938822168801059055432739914481302323739348142514423789539184898,-14\\\",\\\"second\\\":\\\"476089335518255937026469602105509558676266428474666905500852848377611220752523763848800194437560882079849247870866307037632511144362473538941551389664600994106077241135376733028587506534300972209554081420763021530541309968000610718506500584590649885757685901928571126892072810097104128503393627182150259800882003311180382209,-13\\\"},{\\\"first\\\":\\\"11175252833539370679787886832533860770780389584078650606713036355014283889050243039654017422507079457146541209799501239709226736366596884520877990689298158050848418953498190355267346383829110860455247550841658471531645337458459739755058504361674427169163762092190485486386892055301853848499226215961117461710095655312646221829763387078806062499552886358241382580728756156230084072285946674144576042115954211575977812395708466104750771312561316146097207279165900827759939321322342123688441497905141775941665226882645086222653251596988970315551298617993719938822168801059055432739914481302323739348142514423789539184898,-14\\\",\\\"second\\\":\\\"476089335518255937026469602105509558676266428474666905500852848377611220752523763848800194437560882079849247870866307037632511144362473538941551389664600994106077241135376733028587506534300972209554081420763021530541309968000610718506500584590649885757685901928571126892072810097104128503393627182150259800882003311180382209,-13\\\"},{\\\"first\\\":\\\"11175252833539370679787886832533860770780389584078650606713036355014283889050243039654017422507079457146541209799501239709226736366596884520877990689298158050848418953498190355267346383829110860455247550841658471531645337458459739755058504361674427169163762092190485486386892055301853848499226215961117461710095655312646221829763387078806062499552886358241382580728756156230084072285946674144576042115954211575977812395708466104750771312561316146097207279165900827759939321322342123688441497905141775941665226882645086222653251596988970315551298617993719938822168801059055432739914481302323739348142514423789539184898,-14\\\",\\\"second\\\":\\\"476089335518255937026469602105509558676266428474666905500852848377611220752523763848800194437560882079849247870866307037632511144362473538941551389664600994106077241135376733028587506534300972209554081420763021530541309968000610718506500584590649885757685901928571126892072810097104128503393627182150259800882003311180382209,-13\\\"}]}],\\\"client\\\":{\\\"ip\\\":\\\"127.0.0.1\\\",\\\"port\\\":8095,\\\"protocol\\\":\\\"http\\\",\\\"token\\\":-2055640199,\\\"hasLabel\\\":false,\\\"dataset\\\":\\\"cl1_train.csv\\\"}}]}";
//        BoostP3Req boostP3Req = new BoostP3Req();
//        boostP3Req.parseJson(p3Data);
//        content1 = "{\"phase\":3,\"data\":\"{\\\"client\\\":{\\\"ip\\\":\\\"127.0.0.1\\\",\\\"port\\\":8095,\\\"protocol\\\":\\\"http\\\",\\\"token\\\":-2055640199,\\\"hasLabel\\\":false,\\\"dataset\\\":\\\"cl1_train.csv\\\"},\\\"dataList\\\":[{\\\"featureList\\\":[{\\\"length\\\":30,\\\"feature\\\":\\\"1\\\",\\\"ghL\\\":[{\\\"first\\\":\\\"4076924121718098885970314705853366064292619957729540148054449093633482111294542800613577143941302038961766260461785135310431214739618439624987359125162929703525797502372029220700456940319031055464551217238736898101952558225154693572181080541795866302974381979274240552699869904782296853068116475766278415772189488939662521465,-14\\\",\\\"second\\\":\\\"476089335518255937026469602105509558676266428474666905500852848377611220752523763848800194437560882079849247870866307037632511144362473538941551389664600994106077241135376733028587506534300972209554081420763021530541309968000610718506500584590649885757685901928571126892072810097104128503393627182150259800882003311180382209,-13\\\"},{\\\"first\\\":\\\"11175252833539370679787886832533860770780389584078650606713036355014283889050243039654017422507079457146541209799501239709226736366596884520877990689298158050848418953498190355267346383829110860455247550841658471531645337458459739755058504361674427169163762092190485486386892055301853848499230352274946295409153824011756282076743542263148092777630873622556322715733329203937801119679948322969990683160551771803813077819921296827796145968544608645685209741175068368673346511346676916101050366527284430842093484019282569484556133145097834282730272447069112448805288013863705115139724624744083649894749285271255438583634,-14\\\",\\\"second\\\":\\\"476089335518255937026469602105509558676266428474666905500852848377611220752523763848800194437560882079849247870866307037632511144362473538941551389664600994106077241135376733028587506534300972209554081420763021530541309968000610718506500584590649885757685901928571126892072810097104128503393627182150259800882003311180382209,-13\\\"},{\\\"first\\\":\\\"11175252833539370679787886832533860770780389584078650606713036355014283889050243039654017422507079457146541209799501239709226736366596884520877990689298158050848418953498190355267346383829110860455247550841658471531645337458459739755058504361674427169163762092190485486386892055301853848499230168338961434302051057912068260979930248641653532985220259622875400717364223970783000127859043025599749769842992969035059834536935332983045904581070197339791878495736209522767266301012820922162975228440668832962530218584346235070909861082678149143294628091056036014423284834480126391867279543980017274359944068850285214376850,-14\\\",\\\"second\\\":\\\"476089335518255937026469602105509558676266428474666905500852848377611220752523763848800194437560882079849247870866307037632511144362473538941551389664600994106077241135376733028587506534300972209554081420763021530541309968000610718506500584590649885757685901928571126892072810097104128503393627182150259800882003311180382209,-13\\\"},{\\\"first\\\":\\\"11175252833539370679787886832533860770780389584078650606713036355014283889050243039654017422507079457146541209799501239709226736366596884520877990689298158050848418953498190355267346383829110860455247550841658471531645337458459739755058504361674427169163762092190485486386892055301853848499230643017941339733477918745468629478158918141833859094525687926659955695366903908292921217508870866279539800632354848404951363470006657070178822747380558963202812639908535337410596187480720552348374627413518528628348809029015446006565266052815133332526283975268349624449392445421494276239141194193686662458400854922804388451170,-15\\\",\\\"second\\\":\\\"476089335518255937026469602105509558676266428474666905500852848377611220752523763848800194437560882079849247870866307037632511144362473538941551389664600994106077241135376733028587506534300972209554081420763021530541309968000610718506500584590649885757685901928571126892072810097104128503393627182150259800882003311180382209,-13\\\"},{\\\"first\\\":\\\"11175252833539370679787886832533860770780389584078650606713036355014283889050243039654017422507079457146541209799501239709226736366596884520877990689298158050848418953498190355267346383829110860455247550841658471531645337458459739755058504361674427169163762092190485486386892055301853848499226215961117461710095655312646221829763387078806062499552886358241382580728756156230084072285946674144576042115954211575977812395708466104750771312561316146097207279165900827759939321322342123688441497905141775941665226882645086222653251596988970315551298617993719938822168801059055432739914481302323739348142514423789539184898,-14\\\",\\\"second\\\":\\\"476089335518255937026469602105509558676266428474666905500852848377611220752523763848800194437560882079849247870866307037632511144362473538941551389664600994106077241135376733028587506534300972209554081420763021530541309968000610718506500584590649885757685901928571126892072810097104128503393627182150259800882003311180382209,-13\\\"},{\\\"first\\\":\\\"11175252833539370679787886832533860770780389584078650606713036355014283889050243039654017422507079457146541209799501239709226736366596884520877990689298158050848418953498190355267346383829110860455247550841658471531645337458459739755058504361674427169163762092190485486386892055301853848499226215961117461710095655312646221829763387078806062499552886358241382580728756156230084072285946674144576042115954211575977812395708466104750771312561316146097207279165900827759939321322342123688441497905141775941665226882645086222653251596988970315551298617993719938822168801059055432739914481302323739348142514423789539184898,-14\\\",\\\"second\\\":\\\"476089335518255937026469602105509558676266428474666905500852848377611220752523763848800194437560882079849247870866307037632511144362473538941551389664600994106077241135376733028587506534300972209554081420763021530541309968000610718506500584590649885757685901928571126892072810097104128503393627182150259800882003311180382209,-13\\\"},{\\\"first\\\":\\\"543382549562996839478636042153951275224342244626140123195519144470914516225236327562507814180890515559707090327848941114248693534756952661502198307364526438466582394051531202205953117952866365386213553423954126515987311706367681956000912940408165723887807984595585746469274086559579064908389058528214011077458319600136579051,-13\\\",\\\"second\\\":\\\"476089335518255937026469602105509558676266428474666905500852848377611220752523763848800194437560882079849247870866307037632511144362473538941551389664600994106077241135376733028587506534300972209554081420763021530541309968000610718506500584590649885757685901928571126892072810097104128503393627182150259800882003311180382209,-13\\\"},{\\\"first\\\":\\\"2984647895551451067079598147162937174150006856349521198940301073741336529215793060037738198857449266572128286866928147491481668669590413380738548307171482189400251679427453266291837231938805525256099449964686408613135600947538842794448542548158092226813331021792618562092625259973606937540807290191230182937336555116575838473,-14\\\",\\\"second\\\":\\\"476089335518255937026469602105509558676266428474666905500852848377611220752523763848800194437560882079849247870866307037632511144362473538941551389664600994106077241135376733028587506534300972209554081420763021530541309968000610718506500584590649885757685901928571126892072810097104128503393627182150259800882003311180382209,-13\\\"},{\\\"first\\\":\\\"732295925871634297963399532988865314269954977437331807111293894542450851202068991732225881191528892730500824677989145299829163264295152683982426884954648408752419499233610001588490730926217670090419181754805219666854929895262374448253255258215036063105722908310446152672860316509552907098184215844551784783674241982629494297,-14\\\",\\\"second\\\":\\\"476089335518255937026469602105509558676266428474666905500852848377611220752523763848800194437560882079849247870866307037632511144362473538941551389664600994106077241135376733028587506534300972209554081420763021530541309968000610718506500584590649885757685901928571126892072810097104128503393627182150259800882003311180382209,-13\\\"},{\\\"first\\\":\\\"3076396173001765117573574918919698167115730710687218893401785949380568634503523060670842280030692951028106745816582363741252232707702829027304658610397465238315971937456579624473816137246666513387754245868272126371831864441542459599142619057442490624805638523665217784771171279966149648819077103805827034642292961801833975149,-14\\\",\\\"second\\\":\\\"476089335518255937026469602105509558676266428474666905500852848377611220752523763848800194437560882079849247870866307037632511144362473538941551389664600994106077241135376733028587506534300972209554081420763021530541309968000610718506500584590649885757685901928571126892072810097104128503393627182150259800882003311180382209,-13\\\"},{\\\"first\\\":\\\"621129628626454402208460794971163536737506720020838975224407819492936950200891080322711596334891740935782364775290126595043978125351558402225885992531945214227854908622729395713221054985242597148433081814974552094649196594972730661681416081174081914800876286296765194770740436390762428846482869486201677189755931416413662736,-13\\\",\\\"second\\\":\\\"476089335518255937026469602105509558676266428474666905500852848377611220752523763848800194437560882079849247870866307037632511144362473538941551389664600994106077241135376733028587506534300972209554081420763021530541309968000610718506500584590649885757685901928571126892072810097104128503393627182150259800882003311180382209,-13\\\"},{\\\"first\\\":\\\"538959657304065659090010971637910098522016772360150767576406530723945557685246419918225703945873599536370750085955218538489533546122694320367069393432904778840435769261313384048610740978843288667636985681562964817982437063952292068292447174774119021384893300470962284132067611141310979309949884511613317513221945350954118600,-13\\\",\\\"second\\\":\\\"476089335518255937026469602105509558676266428474666905500852848377611220752523763848800194437560882079849247870866307037632511144362473538941551389664600994106077241135376733028587506534300972209554081420763021530541309968000610718506500584590649885757685901928571126892072810097104128503393627182150259800882003311180382209,-13\\\"},{\\\"first\\\":\\\"3179104641843986938276032795488735851623587818119278498789261765671502846734889277264073565701242547947130248419331794585307976942775996714395675483664717310526215540570290363879612120811604566075270299335360782107154341544926571370485428161647682291369091927793031344161871582867006460694274185720783292763823014153704950765,-14\\\",\\\"second\\\":\\\"476089335518255937026469602105509558676266428474666905500852848377611220752523763848800194437560882079849247870866307037632511144362473538941551389664600994106077241135376733028587506534300972209554081420763021530541309968000610718506500584590649885757685901928571126892072810097104128503393627182150259800882003311180382209,-13\\\"},{\\\"first\\\":\\\"3772838097490195926695799834748760145074866917023658259692408664541552237490098997480388088498030255965729176561813313801883656737271553996537932623117086775263547548875732451513834615156286397926816167249657945505957262004609783185058776806774940929151940885135281766979832104597555810447720303162501932010588339542166524405,-14\\\",\\\"second\\\":\\\"476089335518255937026469602105509558676266428474666905500852848377611220752523763848800194437560882079849247870866307037632511144362473538941551389664600994106077241135376733028587506534300972209554081420763021530541309968000610718506500584590649885757685901928571126892072810097104128503393627182150259800882003311180382209,-13\\\"},{\\\"first\\\":\\\"2305462872611764533063735776353388220675843749719077564639362830739250839519639756900396341743807367997230143052963150528242400925289745264561749404335737884228540157749203319434771842173107543741919816577246799647703410939211095320753265833547585181562981299488133536489485446125757387603141025978349159894392498398820634193,-14\\\",\\\"second\\\":\\\"476089335518255937026469602105509558676266428474666905500852848377611220752523763848800194437560882079849247870866307037632511144362473538941551389664600994106077241135376733028587506534300972209554081420763021530541309968000610718506500584590649885757685901928571126892072810097104128503393627182150259800882003311180382209,-13\\\"},{\\\"first\\\":\\\"11175252833539370679787886832533860770780389584078650606713036355014283889050243039654017422507079457146541209799501239709226736366596884520877990689298158050848418953498190355267346383829110860455247550841658471531645337458459739755058504361674427169163762092190485486386892055301853848499228726801395673453861437162001668802628948022942970358164723878326317170037351968962381060688410043971177768280673649922231063646967595867003494023015275667977081335163059283804930596404571405388739313840004739380690504255628047387155291201507475104134018811494290657840155477154887675823760857553892602510238690322488070081618,-14\\\",\\\"second\\\":\\\"476089335518255937026469602105509558676266428474666905500852848377611220752523763848800194437560882079849247870866307037632511144362473538941551389664600994106077241135376733028587506534300972209554081420763021530541309968000610718506500584590649885757685901928571126892072810097104128503393627182150259800882003311180382209,-13\\\"},{\\\"first\\\":\\\"11175252833539370679787886832533860770780389584078650606713036355014283889050243039654017422507079457146541209799501239709226736366596884520877990689298158050848418953498190355267346383829110860455247550841658471531645337458459739755058504361674427169163762092190485486386892055301853848499228714102149550810616685576929200903217503824826125545608252188177655393039436535972786062957994062721178935848343442501863208607566369189542093719177923209426900469639307106482607175222188851688328882010254300893331641884433662239225676333666940663116617086835410270450480594536319465111715268819016681763218707992841387498546,-14\\\",\\\"second\\\":\\\"476089335518255937026469602105509558676266428474666905500852848377611220752523763848800194437560882079849247870866307037632511144362473538941551389664600994106077241135376733028587506534300972209554081420763021530541309968000610718506500584590649885757685901928571126892072810097104128503393627182150259800882003311180382209,-13\\\"},{\\\"first\\\":\\\"3977852112025722551167435466192429832034553740685564066674074581786763828447494991743738416225670084585182161883775888918693358111812144627554209110697423441692832788336063772430504114629432977877319433111504711563728905206876689080565256877994489612605496220797579423497896054470681642977202303654124298928269273593484486625,-14\\\",\\\"second\\\":\\\"476089335518255937026469602105509558676266428474666905500852848377611220752523763848800194437560882079849247870866307037632511144362473538941551389664600994106077241135376733028587506534300972209554081420763021530541309968000610718506500584590649885757685901928571126892072810097104128503393627182150259800882003311180382209,-13\\\"},{\\\"first\\\":\\\"2433861990324926656490679758800160454402736444308802967712723010305024327160340822296438692892069186699439287182501105135784189006430380603175387130814397165596241388474532035563916452746028469047374175224640293190135471641514302021069438421073878317424236340393845737733047926334208045987809460307593101101813396851468251529,-14\\\",\\\"second\\\":\\\"476089335518255937026469602105509558676266428474666905500852848377611220752523763848800194437560882079849247870866307037632511144362473538941551389664600994106077241135376733028587506534300972209554081420763021530541309968000610718506500584590649885757685901928571126892072810097104128503393627182150259800882003311180382209,-13\\\"},{\\\"first\\\":\\\"11175252833539370679787886832533860770780389584078650606713036355014283889050243039654017422507079457146541209799501239709226736366596884520877990689298158050848418953498190355267346383829110860455247550841658471531645337458459739755058504361674427169163762092190485486386892055301853848499226215976352305212596218481145715365131909096581448616088604511185863200884949328797536931338938577891427085907406306258609863716522009131072665746965949358683689725831089047802682154129253681890913656840074876430253081982374557559980750788519992684923595820180188217910265944632550221666468032467444269293979136219903776082562,-14\\\",\\\"second\\\":\\\"476089335518255937026469602105509558676266428474666905500852848377611220752523763848800194437560882079849247870866307037632511144362473538941551389664600994106077241135376733028587506534300972209554081420763021530541309968000610718506500584590649885757685901928571126892072810097104128503393627182150259800882003311180382209,-13\\\"},{\\\"first\\\":\\\"1597426446568672348745189921562442319938071093425891264417659820913548205789610576981967092994238886954612401590306458803474504725755734321390092091641339305530283329580823998019736997254024941259006871775678050315448867471925850470538005556957105462915196561155373336747269860822723546794123493298786087029983689094316893809,-14\\\",\\\"second\\\":\\\"476089335518255937026469602105509558676266428474666905500852848377611220752523763848800194437560882079849247870866307037632511144362473538941551389664600994106077241135376733028587506534300972209554081420763021530541309968000610718506500584590649885757685901928571126892072810097104128503393627182150259800882003311180382209,-13\\\"},{\\\"first\\\":\\\"11175252833539370679787886832533860770780389584078650606713036355014283889050243039654017422507079457146541209799501239709226736366596884520877990689298158050848418953498190355267346383829110860455247550841658471531645337458459739755058504361674427169163762092190485486386892055301853848499230489098068355511424467835126612782302937677112642127002670132589512711670578738257766198550022694219978236832921388019392197063023342337249133061301075623429888267251397285446161478982299607091518301901281837661981758179697297747287610640595274784529999429134832503053323827969633695336260883124548074076264394992667066605154,-15\\\",\\\"second\\\":\\\"476089335518255937026469602105509558676266428474666905500852848377611220752523763848800194437560882079849247870866307037632511144362473538941551389664600994106077241135376733028587506534300972209554081420763021530541309968000610718506500584590649885757685901928571126892072810097104128503393627182150259800882003311180382209,-13\\\"},{\\\"first\\\":\\\"5853262086335615036567444364291815979896222643821577494242780883995394167511769165033874024758426167477500976830388534047308024536956710480625073133306737159678076020075635622909404763803555121271331537652178011992520485037563204378827475210183953773743883318158932481727677001547593330895034392714231354154782009286668218657,-14\\\",\\\"second\\\":\\\"476089335518255937026469602105509558676266428474666905500852848377611220752523763848800194437560882079849247870866307037632511144362473538941551389664600994106077241135376733028587506534300972209554081420763021530541309968000610718506500584590649885757685901928571126892072810097104128503393627182150259800882003311180382209,-13\\\"},{\\\"first\\\":\\\"11175252833539370679787886832533860770780389584078650606713036355014283889050243039654017422507079457146541209799501239709226736366596884520877990689298158050848418953498190355267346383829110860455247550841658471531645337458459739755058504361674427169163762092190485486386892055301853848499231312259457567514269847316641935465995177516605482932746120721698091611450463841874534248753690298452281134196266004980613871434960741663228521286174804500831858373795294600474566052017840382391697092580857293177820734030308855547842284580133968344450585577621276973942777119245164772969358398554671618967072897244293323011042,-15\\\",\\\"second\\\":\\\"476089335518255937026469602105509558676266428474666905500852848377611220752523763848800194437560882079849247870866307037632511144362473538941551389664600994106077241135376733028587506534300972209554081420763021530541309968000610718506500584590649885757685901928571126892072810097104128503393627182150259800882003311180382209,-13\\\"},{\\\"first\\\":\\\"11175252833539370679787886832533860770780389584078650606713036355014283889050243039654017422507079457146541209799501239709226736366596884520877990689298158050848418953498190355267346383829110860455247550841658471531645337458459739755058504361674427169163762092190485486386892055301853848499230142785668875846797644143267255123817656047893042367901146327106603479803485315557022684723672726856184674076163521883470132458359866755247065324068982869078618392668392574975576097800259521713005598413031571440366880702549893266882248272837164693632576692448355664822263806918370282219006122106580616129619474036356056962818,-14\\\",\\\"second\\\":\\\"476089335518255937026469602105509558676266428474666905500852848377611220752523763848800194437560882079849247870866307037632511144362473538941551389664600994106077241135376733028587506534300972209554081420763021530541309968000610718506500584590649885757685901928571126892072810097104128503393627182150259800882003311180382209,-13\\\"},{\\\"first\\\":\\\"1928582310289202062677010204275797137005333962135226626078132364656981617976558717285048702754164408878203185522116663711162029612129866600618680239473398162877031462515781179734096757483026097194149234114328604465900843174192455688770646588749194556046091378460071088803535426077858873693578922650911836250721254861635113441,-14\\\",\\\"second\\\":\\\"476089335518255937026469602105509558676266428474666905500852848377611220752523763848800194437560882079849247870866307037632511144362473538941551389664600994106077241135376733028587506534300972209554081420763021530541309968000610718506500584590649885757685901928571126892072810097104128503393627182150259800882003311180382209,-13\\\"},{\\\"first\\\":\\\"11175252833539370679787886832533860770780389584078650606713036355014283889050243039654017422507079457146541209799501239709226736366596884520877990689298158050848418953498190355267346383829110860455247550841658471531645337458459739755058504361674427169163762092190485486386892055301853848499226215961117461710095655312646221829763387078806062499552886358241382580728756156230084072285946674144576042115954211575977812395708466104750771312561316146097207279165900827759939321322342123688441497905141775941665226882645086222653251596988970315551298617993719938822168801059055432739914481302323739348142514423789539184898,-14\\\",\\\"second\\\":\\\"476089335518255937026469602105509558676266428474666905500852848377611220752523763848800194437560882079849247870866307037632511144362473538941551389664600994106077241135376733028587506534300972209554081420763021530541309968000610718506500584590649885757685901928571126892072810097104128503393627182150259800882003311180382209,-13\\\"},{\\\"first\\\":\\\"2917744070766656722187350467104444513796990631929002953382341090454457599765882389607344596926146153420066924191523777044477199281163588682333817330696115111989813336645537808324065065270633608231254244866779228864270704411858521860268890417386923213785772059545122777944144278364442678585624623992069927664616543454504070893,-14\\\",\\\"second\\\":\\\"476089335518255937026469602105509558676266428474666905500852848377611220752523763848800194437560882079849247870866307037632511144362473538941551389664600994106077241135376733028587506534300972209554081420763021530541309968000610718506500584590649885757685901928571126892072810097104128503393627182150259800882003311180382209,-13\\\"},{\\\"first\\\":\\\"4628237160648543363171374220802608625772302952941295999445428548627978818746362294877412075985790128343751851395912606216606943523550444617187961952518732319115481988788102949721742641153501106491526425876612902205987084465502142203139730503874457136854145706258819256310315399569373900326846999721453590105604010084494369993,-14\\\",\\\"second\\\":\\\"476089335518255937026469602105509558676266428474666905500852848377611220752523763848800194437560882079849247870866307037632511144362473538941551389664600994106077241135376733028587506534300972209554081420763021530541309968000610718506500584590649885757685901928571126892072810097104128503393627182150259800882003311180382209,-13\\\"},{\\\"first\\\":\\\"11175252833539370679787886832533860770780389584078650606713036355014283889050243039654017422507079457146541209799501239709226736366596884520877990689298158050848418953498190355267346383829110860455247550841658471531645337458459739755058504361674427169163762092190485486386892055301853848499230222281529372388462877738751307770970150789340836219649974642560202886344845847064773061410832887691482099145337213029853826645644059168341546293994973072054955263391981332202508635278961351706194890865407031292740772203947867573313144074886572871649667209140780170067064396583157860163524196557464386717426564514799886081378,-14\\\",\\\"second\\\":\\\"476089335518255937026469602105509558676266428474666905500852848377611220752523763848800194437560882079849247870866307037632511144362473538941551389664600994106077241135376733028587506534300972209554081420763021530541309968000610718506500584590649885757685901928571126892072810097104128503393627182150259800882003311180382209,-13\\\"}]},{\\\"length\\\":30,\\\"feature\\\":\\\"2\\\",\\\"ghL\\\":[{\\\"first\\\":\\\"4076924121718098885970314705853366064292619957729540148054449093633482111294542800613577143941302038961766260461785135310431214739618439624987359125162929703525797502372029220700456940319031055464551217238736898101952558225154693572181080541795866302974381979274240552699869904782296853068116475766278415772189488939662521465,-14\\\",\\\"second\\\":\\\"476089335518255937026469602105509558676266428474666905500852848377611220752523763848800194437560882079849247870866307037632511144362473538941551389664600994106077241135376733028587506534300972209554081420763021530541309968000610718506500584590649885757685901928571126892072810097104128503393627182150259800882003311180382209,-13\\\"},{\\\"first\\\":\\\"621129628626454402208460794971163536737506720020838975224407819492936950200891080322711596334891740935782364775290126595043978125351558402225885992531945214227854908622729395713221054985242597148433081814974552094649196594972730661681416081174081914800876286296765194770740436390762428846482869486201677189755931416413662736,-13\\\",\\\"second\\\":\\\"476089335518255937026469602105509558676266428474666905500852848377611220752523763848800194437560882079849247870866307037632511144362473538941551389664600994106077241135376733028587506534300972209554081420763021530541309968000610718506500584590649885757685901928571126892072810097104128503393627182150259800882003311180382209,-13\\\"},{\\\"first\\\":\\\"5853262086335615036567444364291815979896222643821577494242780883995394167511769165033874024758426167477500976830388534047308024536956710480625073133306737159678076020075635622909404763803555121271331537652178011992520485037563204378827475210183953773743883318158932481727677001547593330895034392714231354154782009286668218657,-14\\\",\\\"second\\\":\\\"476089335518255937026469602105509558676266428474666905500852848377611220752523763848800194437560882079849247870866307037632511144362473538941551389664600994106077241135376733028587506534300972209554081420763021530541309968000610718506500584590649885757685901928571126892072810097104128503393627182150259800882003311180382209,-13\\\"},{\\\"first\\\":\\\"543382549562996839478636042153951275224342244626140123195519144470914516225236327562507814180890515559707090327848941114248693534756952661502198307364526438466582394051531202205953117952866365386213553423954126515987311706367681956000912940408165723887807984595585746469274086559579064908389058528214011077458319600136579051,-13\\\",\\\"second\\\":\\\"476089335518255937026469602105509558676266428474666905500852848377611220752523763848800194437560882079849247870866307037632511144362473538941551389664600994106077241135376733028587506534300972209554081420763021530541309968000610718506500584590649885757685901928571126892072810097104128503393627182150259800882003311180382209,-13\\\"},{\\\"first\\\":\\\"538959657304065659090010971637910098522016772360150767576406530723945557685246419918225703945873599536370750085955218538489533546122694320367069393432904778840435769261313384048610740978843288667636985681562964817982437063952292068292447174774119021384893300470962284132067611141310979309949884511613317513221945350954118600,-13\\\",\\\"second\\\":\\\"476089335518255937026469602105509558676266428474666905500852848377611220752523763848800194437560882079849247870866307037632511144362473538941551389664600994106077241135376733028587506534300972209554081420763021530541309968000610718506500584590649885757685901928571126892072810097104128503393627182150259800882003311180382209,-13\\\"},{\\\"first\\\":\\\"11175252833539370679787886832533860770780389584078650606713036355014283889050243039654017422507079457146541209799501239709226736366596884520877990689298158050848418953498190355267346383829110860455247550841658471531645337458459739755058504361674427169163762092190485486386892055301853848499231312259457567514269847316641935465995177516605482932746120721698091611450463841874534248753690298452281134196266004980613871434960741663228521286174804500831858373795294600474566052017840382391697092580857293177820734030308855547842284580133968344450585577621276973942777119245164772969358398554671618967072897244293323011042,-15\\\",\\\"second\\\":\\\"476089335518255937026469602105509558676266428474666905500852848377611220752523763848800194437560882079849247870866307037632511144362473538941551389664600994106077241135376733028587506534300972209554081420763021530541309968000610718506500584590649885757685901928571126892072810097104128503393627182150259800882003311180382209,-13\\\"},{\\\"first\\\":\\\"3977852112025722551167435466192429832034553740685564066674074581786763828447494991743738416225670084585182161883775888918693358111812144627554209110697423441692832788336063772430504114629432977877319433111504711563728905206876689080565256877994489612605496220797579423497896054470681642977202303654124298928269273593484486625,-14\\\",\\\"second\\\":\\\"476089335518255937026469602105509558676266428474666905500852848377611220752523763848800194437560882079849247870866307037632511144362473538941551389664600994106077241135376733028587506534300972209554081420763021530541309968000610718506500584590649885757685901928571126892072810097104128503393627182150259800882003311180382209,-13\\\"},{\\\"first\\\":\\\"3772838097490195926695799834748760145074866917023658259692408664541552237490098997480388088498030255965729176561813313801883656737271553996537932623117086775263547548875732451513834615156286397926816167249657945505957262004609783185058776806774940929151940885135281766979832104597555810447720303162501932010588339542166524405,-14\\\",\\\"second\\\":\\\"476089335518255937026469602105509558676266428474666905500852848377611220752523763848800194437560882079849247870866307037632511144362473538941551389664600994106077241135376733028587506534300972209554081420763021530541309968000610718506500584590649885757685901928571126892072810097104128503393627182150259800882003311180382209,-13\\\"},{\\\"first\\\":\\\"4628237160648543363171374220802608625772302952941295999445428548627978818746362294877412075985790128343751851395912606216606943523550444617187961952518732319115481988788102949721742641153501106491526425876612902205987084465502142203139730503874457136854145706258819256310315399569373900326846999721453590105604010084494369993,-14\\\",\\\"second\\\":\\\"476089335518255937026469602105509558676266428474666905500852848377611220752523763848800194437560882079849247870866307037632511144362473538941551389664600994106077241135376733028587506534300972209554081420763021530541309968000610718506500584590649885757685901928571126892072810097104128503393627182150259800882003311180382209,-13\\\"},{\\\"first\\\":\\\"3179104641843986938276032795488735851623587818119278498789261765671502846734889277264073565701242547947130248419331794585307976942775996714395675483664717310526215540570290363879612120811604566075270299335360782107154341544926571370485428161647682291369091927793031344161871582867006460694274185720783292763823014153704950765,-14\\\",\\\"second\\\":\\\"476089335518255937026469602105509558676266428474666905500852848377611220752523763848800194437560882079849247870866307037632511144362473538941551389664600994106077241135376733028587506534300972209554081420763021530541309968000610718506500584590649885757685901928571126892072810097104128503393627182150259800882003311180382209,-13\\\"},{\\\"first\\\":\\\"1928582310289202062677010204275797137005333962135226626078132364656981617976558717285048702754164408878203185522116663711162029612129866600618680239473398162877031462515781179734096757483026097194149234114328604465900843174192455688770646588749194556046091378460071088803535426077858873693578922650911836250721254861635113441,-14\\\",\\\"second\\\":\\\"476089335518255937026469602105509558676266428474666905500852848377611220752523763848800194437560882079849247870866307037632511144362473538941551389664600994106077241135376733028587506534300972209554081420763021530541309968000610718506500584590649885757685901928571126892072810097104128503393627182150259800882003311180382209,-13\\\"},{\\\"first\\\":\\\"3076396173001765117573574918919698167115730710687218893401785949380568634503523060670842280030692951028106745816582363741252232707702829027304658610397465238315971937456579624473816137246666513387754245868272126371831864441542459599142619057442490624805638523665217784771171279966149648819077103805827034642292961801833975149,-14\\\",\\\"second\\\":\\\"476089335518255937026469602105509558676266428474666905500852848377611220752523763848800194437560882079849247870866307037632511144362473538941551389664600994106077241135376733028587506534300972209554081420763021530541309968000610718506500584590649885757685901928571126892072810097104128503393627182150259800882003311180382209,-13\\\"},{\\\"first\\\":\\\"1597426446568672348745189921562442319938071093425891264417659820913548205789610576981967092994238886954612401590306458803474504725755734321390092091641339305530283329580823998019736997254024941259006871775678050315448867471925850470538005556957105462915196561155373336747269860822723546794123493298786087029983689094316893809,-14\\\",\\\"second\\\":\\\"476089335518255937026469602105509558676266428474666905500852848377611220752523763848800194437560882079849247870866307037632511144362473538941551389664600994106077241135376733028587506534300972209554081420763021530541309968000610718506500584590649885757685901928571126892072810097104128503393627182150259800882003311180382209,-13\\\"},{\\\"first\\\":\\\"2984647895551451067079598147162937174150006856349521198940301073741336529215793060037738198857449266572128286866928147491481668669590413380738548307171482189400251679427453266291837231938805525256099449964686408613135600947538842794448542548158092226813331021792618562092625259973606937540807290191230182937336555116575838473,-14\\\",\\\"second\\\":\\\"476089335518255937026469602105509558676266428474666905500852848377611220752523763848800194437560882079849247870866307037632511144362473538941551389664600994106077241135376733028587506534300972209554081420763021530541309968000610718506500584590649885757685901928571126892072810097104128503393627182150259800882003311180382209,-13\\\"},{\\\"first\\\":\\\"11175252833539370679787886832533860770780389584078650606713036355014283889050243039654017422507079457146541209799501239709226736366596884520877990689298158050848418953498190355267346383829110860455247550841658471531645337458459739755058504361674427169163762092190485486386892055301853848499228714102149550810616685576929200903217503824826125545608252188177655393039436535972786062957994062721178935848343442501863208607566369189542093719177923209426900469639307106482607175222188851688328882010254300893331641884433662239225676333666940663116617086835410270450480594536319465111715268819016681763218707992841387498546,-14\\\",\\\"second\\\":\\\"476089335518255937026469602105509558676266428474666905500852848377611220752523763848800194437560882079849247870866307037632511144362473538941551389664600994106077241135376733028587506534300972209554081420763021530541309968000610718506500584590649885757685901928571126892072810097104128503393627182150259800882003311180382209,-13\\\"},{\\\"first\\\":\\\"2917744070766656722187350467104444513796990631929002953382341090454457599765882389607344596926146153420066924191523777044477199281163588682333817330696115111989813336645537808324065065270633608231254244866779228864270704411858521860268890417386923213785772059545122777944144278364442678585624623992069927664616543454504070893,-14\\\",\\\"second\\\":\\\"476089335518255937026469602105509558676266428474666905500852848377611220752523763848800194437560882079849247870866307037632511144362473538941551389664600994106077241135376733028587506534300972209554081420763021530541309968000610718506500584590649885757685901928571126892072810097104128503393627182150259800882003311180382209,-13\\\"},{\\\"first\\\":\\\"11175252833539370679787886832533860770780389584078650606713036355014283889050243039654017422507079457146541209799501239709226736366596884520877990689298158050848418953498190355267346383829110860455247550841658471531645337458459739755058504361674427169163762092190485486386892055301853848499230142785668875846797644143267255123817656047893042367901146327106603479803485315557022684723672726856184674076163521883470132458359866755247065324068982869078618392668392574975576097800259521713005598413031571440366880702549893266882248272837164693632576692448355664822263806918370282219006122106580616129619474036356056962818,-14\\\",\\\"second\\\":\\\"476089335518255937026469602105509558676266428474666905500852848377611220752523763848800194437560882079849247870866307037632511144362473538941551389664600994106077241135376733028587506534300972209554081420763021530541309968000610718506500584590649885757685901928571126892072810097104128503393627182150259800882003311180382209,-13\\\"},{\\\"first\\\":\\\"11175252833539370679787886832533860770780389584078650606713036355014283889050243039654017422507079457146541209799501239709226736366596884520877990689298158050848418953498190355267346383829110860455247550841658471531645337458459739755058504361674427169163762092190485486386892055301853848499230222281529372388462877738751307770970150789340836219649974642560202886344845847064773061410832887691482099145337213029853826645644059168341546293994973072054955263391981332202508635278961351706194890865407031292740772203947867573313144074886572871649667209140780170067064396583157860163524196557464386717426564514799886081378,-14\\\",\\\"second\\\":\\\"476089335518255937026469602105509558676266428474666905500852848377611220752523763848800194437560882079849247870866307037632511144362473538941551389664600994106077241135376733028587506534300972209554081420763021530541309968000610718506500584590649885757685901928571126892072810097104128503393627182150259800882003311180382209,-13\\\"},{\\\"first\\\":\\\"2305462872611764533063735776353388220675843749719077564639362830739250839519639756900396341743807367997230143052963150528242400925289745264561749404335737884228540157749203319434771842173107543741919816577246799647703410939211095320753265833547585181562981299488133536489485446125757387603141025978349159894392498398820634193,-14\\\",\\\"second\\\":\\\"476089335518255937026469602105509558676266428474666905500852848377611220752523763848800194437560882079849247870866307037632511144362473538941551389664600994106077241135376733028587506534300972209554081420763021530541309968000610718506500584590649885757685901928571126892072810097104128503393627182150259800882003311180382209,-13\\\"},{\\\"first\\\":\\\"732295925871634297963399532988865314269954977437331807111293894542450851202068991732225881191528892730500824677989145299829163264295152683982426884954648408752419499233610001588490730926217670090419181754805219666854929895262374448253255258215036063105722908310446152672860316509552907098184215844551784783674241982629494297,-14\\\",\\\"second\\\":\\\"476089335518255937026469602105509558676266428474666905500852848377611220752523763848800194437560882079849247870866307037632511144362473538941551389664600994106077241135376733028587506534300972209554081420763021530541309968000610718506500584590649885757685901928571126892072810097104128503393627182150259800882003311180382209,-13\\\"},{\\\"first\\\":\\\"11175252833539370679787886832533860770780389584078650606713036355014283889050243039654017422507079457146541209799501239709226736366596884520877990689298158050848418953498190355267346383829110860455247550841658471531645337458459739755058504361674427169163762092190485486386892055301853848499230168338961434302051057912068260979930248641653532985220259622875400717364223970783000127859043025599749769842992969035059834536935332983045904581070197339791878495736209522767266301012820922162975228440668832962530218584346235070909861082678149143294628091056036014423284834480126391867279543980017274359944068850285214376850,-14\\\",\\\"second\\\":\\\"476089335518255937026469602105509558676266428474666905500852848377611220752523763848800194437560882079849247870866307037632511144362473538941551389664600994106077241135376733028587506534300972209554081420763021530541309968000610718506500584590649885757685901928571126892072810097104128503393627182150259800882003311180382209,-13\\\"},{\\\"first\\\":\\\"2433861990324926656490679758800160454402736444308802967712723010305024327160340822296438692892069186699439287182501105135784189006430380603175387130814397165596241388474532035563916452746028469047374175224640293190135471641514302021069438421073878317424236340393845737733047926334208045987809460307593101101813396851468251529,-14\\\",\\\"second\\\":\\\"476089335518255937026469602105509558676266428474666905500852848377611220752523763848800194437560882079849247870866307037632511144362473538941551389664600994106077241135376733028587506534300972209554081420763021530541309968000610718506500584590649885757685901928571126892072810097104128503393627182150259800882003311180382209,-13\\\"},{\\\"first\\\":\\\"11175252833539370679787886832533860770780389584078650606713036355014283889050243039654017422507079457146541209799501239709226736366596884520877990689298158050848418953498190355267346383829110860455247550841658471531645337458459739755058504361674427169163762092190485486386892055301853848499230489098068355511424467835126612782302937677112642127002670132589512711670578738257766198550022694219978236832921388019392197063023342337249133061301075623429888267251397285446161478982299607091518301901281837661981758179697297747287610640595274784529999429134832503053323827969633695336260883124548074076264394992667066605154,-15\\\",\\\"second\\\":\\\"476089335518255937026469602105509558676266428474666905500852848377611220752523763848800194437560882079849247870866307037632511144362473538941551389664600994106077241135376733028587506534300972209554081420763021530541309968000610718506500584590649885757685901928571126892072810097104128503393627182150259800882003311180382209,-13\\\"},{\\\"first\\\":\\\"11175252833539370679787886832533860770780389584078650606713036355014283889050243039654017422507079457146541209799501239709226736366596884520877990689298158050848418953498190355267346383829110860455247550841658471531645337458459739755058504361674427169163762092190485486386892055301853848499226215976352305212596218481145715365131909096581448616088604511185863200884949328797536931338938577891427085907406306258609863716522009131072665746965949358683689725831089047802682154129253681890913656840074876430253081982374557559980750788519992684923595820180188217910265944632550221666468032467444269293979136219903776082562,-14\\\",\\\"second\\\":\\\"476089335518255937026469602105509558676266428474666905500852848377611220752523763848800194437560882079849247870866307037632511144362473538941551389664600994106077241135376733028587506534300972209554081420763021530541309968000610718506500584590649885757685901928571126892072810097104128503393627182150259800882003311180382209,-13\\\"},{\\\"first\\\":\\\"11175252833539370679787886832533860770780389584078650606713036355014283889050243039654017422507079457146541209799501239709226736366596884520877990689298158050848418953498190355267346383829110860455247550841658471531645337458459739755058504361674427169163762092190485486386892055301853848499230352274946295409153824011756282076743542263148092777630873622556322715733329203937801119679948322969990683160551771803813077819921296827796145968544608645685209741175068368673346511346676916101050366527284430842093484019282569484556133145097834282730272447069112448805288013863705115139724624744083649894749285271255438583634,-14\\\",\\\"second\\\":\\\"476089335518255937026469602105509558676266428474666905500852848377611220752523763848800194437560882079849247870866307037632511144362473538941551389664600994106077241135376733028587506534300972209554081420763021530541309968000610718506500584590649885757685901928571126892072810097104128503393627182150259800882003311180382209,-13\\\"},{\\\"first\\\":\\\"11175252833539370679787886832533860770780389584078650606713036355014283889050243039654017422507079457146541209799501239709226736366596884520877990689298158050848418953498190355267346383829110860455247550841658471531645337458459739755058504361674427169163762092190485486386892055301853848499230643017941339733477918745468629478158918141833859094525687926659955695366903908292921217508870866279539800632354848404951363470006657070178822747380558963202812639908535337410596187480720552348374627413518528628348809029015446006565266052815133332526283975268349624449392445421494276239141194193686662458400854922804388451170,-15\\\",\\\"second\\\":\\\"476089335518255937026469602105509558676266428474666905500852848377611220752523763848800194437560882079849247870866307037632511144362473538941551389664600994106077241135376733028587506534300972209554081420763021530541309968000610718506500584590649885757685901928571126892072810097104128503393627182150259800882003311180382209,-13\\\"},{\\\"first\\\":\\\"11175252833539370679787886832533860770780389584078650606713036355014283889050243039654017422507079457146541209799501239709226736366596884520877990689298158050848418953498190355267346383829110860455247550841658471531645337458459739755058504361674427169163762092190485486386892055301853848499228726801395673453861437162001668802628948022942970358164723878326317170037351968962381060688410043971177768280673649922231063646967595867003494023015275667977081335163059283804930596404571405388739313840004739380690504255628047387155291201507475104134018811494290657840155477154887675823760857553892602510238690322488070081618,-14\\\",\\\"second\\\":\\\"476089335518255937026469602105509558676266428474666905500852848377611220752523763848800194437560882079849247870866307037632511144362473538941551389664600994106077241135376733028587506534300972209554081420763021530541309968000610718506500584590649885757685901928571126892072810097104128503393627182150259800882003311180382209,-13\\\"},{\\\"first\\\":\\\"11175252833539370679787886832533860770780389584078650606713036355014283889050243039654017422507079457146541209799501239709226736366596884520877990689298158050848418953498190355267346383829110860455247550841658471531645337458459739755058504361674427169163762092190485486386892055301853848499226215961117461710095655312646221829763387078806062499552886358241382580728756156230084072285946674144576042115954211575977812395708466104750771312561316146097207279165900827759939321322342123688441497905141775941665226882645086222653251596988970315551298617993719938822168801059055432739914481302323739348142514423789539184898,-14\\\",\\\"second\\\":\\\"476089335518255937026469602105509558676266428474666905500852848377611220752523763848800194437560882079849247870866307037632511144362473538941551389664600994106077241135376733028587506534300972209554081420763021530541309968000610718506500584590649885757685901928571126892072810097104128503393627182150259800882003311180382209,-13\\\"},{\\\"first\\\":\\\"11175252833539370679787886832533860770780389584078650606713036355014283889050243039654017422507079457146541209799501239709226736366596884520877990689298158050848418953498190355267346383829110860455247550841658471531645337458459739755058504361674427169163762092190485486386892055301853848499226215961117461710095655312646221829763387078806062499552886358241382580728756156230084072285946674144576042115954211575977812395708466104750771312561316146097207279165900827759939321322342123688441497905141775941665226882645086222653251596988970315551298617993719938822168801059055432739914481302323739348142514423789539184898,-14\\\",\\\"second\\\":\\\"476089335518255937026469602105509558676266428474666905500852848377611220752523763848800194437560882079849247870866307037632511144362473538941551389664600994106077241135376733028587506534300972209554081420763021530541309968000610718506500584590649885757685901928571126892072810097104128503393627182150259800882003311180382209,-13\\\"},{\\\"first\\\":\\\"11175252833539370679787886832533860770780389584078650606713036355014283889050243039654017422507079457146541209799501239709226736366596884520877990689298158050848418953498190355267346383829110860455247550841658471531645337458459739755058504361674427169163762092190485486386892055301853848499226215961117461710095655312646221829763387078806062499552886358241382580728756156230084072285946674144576042115954211575977812395708466104750771312561316146097207279165900827759939321322342123688441497905141775941665226882645086222653251596988970315551298617993719938822168801059055432739914481302323739348142514423789539184898,-14\\\",\\\"second\\\":\\\"476089335518255937026469602105509558676266428474666905500852848377611220752523763848800194437560882079849247870866307037632511144362473538941551389664600994106077241135376733028587506534300972209554081420763021530541309968000610718506500584590649885757685901928571126892072810097104128503393627182150259800882003311180382209,-13\\\"}]}],\\\"client\\\":{\\\"ip\\\":\\\"127.0.0.1\\\",\\\"port\\\":8095,\\\"protocol\\\":\\\"http\\\",\\\"token\\\":-2055640199,\\\"hasLabel\\\":false,\\\"dataset\\\":\\\"cl1_train.csv\\\"}}]}\",\"dataIndex\":0,\"isGzip\":false,\"dataNum\":1,\"modelToken\":\"111-FederatedGB-210119113045\",\"algorithm\":\"FederatedGB\",\"status\":\"RUNNING\"}\n" +
//                "\n";
//        train = sendRequest(content1, SerializeUtil.serializeToString(boostP3Req), modelToken);
//        Map<String, Object> resultMap3 = JsonUtil.parseJson(train);
//        Map<String, Object> res3 = null;
//        do {
//            QueryProgress query = new QueryProgress(train);
//            res3 = trainService.queryProgress(query);
//            logger.info("phase3查询结果：{}", res3);
//            Thread.sleep(1000l);
//        } while (!(COMPLETE).equalsIgnoreCase((String) res3.get(STATUS)));
//
//
//        String p4Data = "{\\\"client\\\":{\\\"ip\\\":\\\"127.0.0.1\\\",\\\"port\\\":8095,\\\"protocol\\\":\\\"http\\\",\\\"token\\\":-1939054456,\\\"dataset\\\":\\\"cl1_train.csv\\\"},\\\"kOpt\\\":2,\\\"vOpt\\\":12,\\\"accept\\\":true}";
//        BoostP4Req boostP4Req = new BoostP4Req();
//        boostP4Req.parseJson(p4Data);
//        content1 = "{\"phase\":4,\"data\":\"{\\\"client\\\":{\\\"ip\\\":\\\"127.0.0.1\\\",\\\"port\\\":8095,\\\"protocol\\\":\\\"http\\\",\\\"token\\\":-1939054456,\\\"dataset\\\":\\\"cl1_train.csv\\\"},\\\"kOpt\\\":2,\\\"vOpt\\\":12,\\\"accept\\\":true}\",\"dataIndex\":0,\"isGzip\":false,\"dataNum\":1,\"isSync\":true,\"algorithm\":\"FederatedGB\",\"status\":\"RUNNING\"}";
//        train = sendRequest(content1, SerializeUtil.serializeToString(boostP4Req), modelToken);
//        resultMap = JsonUtil.parseJson(train);
//        List<String> list = (List<String>) resultMap.get("iLeft");
//        logger.info("计算树的位置:{}", list);
//        Integer[] arr;
//        if (key == 1) {
//            arr = new Integer[]{10, 26, 15, 6, 9, 21, 0, 7, 14, 28, 4, 27, 18};
//        } else {
//            arr = new Integer[]{10, 6, 9, 0, 7, 14, 4, 2, 11, 12, 13, 3, 8};
//        }
//        List<Integer> list1 = Arrays.asList(arr);
//        Assert.assertTrue(list.size() == list1.size());
////        Assert.assertTrue(list.containsAll(list1));
//        Assert.assertTrue(resultMap.get("iLeft") != null);
//
//
//        String p5Data = "{\\\"client\\\":{\\\"ip\\\":\\\"127.0.0.1\\\",\\\"port\\\":8095,\\\"protocol\\\":\\\"http\\\",\\\"token\\\":-1939054456,\\\"hasLabel\\\":false,\\\"dataset\\\":\\\"cl1_train.csv\\\",\\\"rank\\\":0},\\\"recordId\\\":1,\\\"iLeft\\\":[10,6,9,0,7,14,4,2,11,12,13,3,8]}";
//        BoostP5Req boostP5Req = new BoostP5Req();
//        boostP5Req.parseJson(p5Data);
//        content1 = "{\"phase\":5,\"data\":\"{\\\"client\\\":{\\\"ip\\\":\\\"127.0.0.1\\\",\\\"port\\\":8095,\\\"protocol\\\":\\\"http\\\",\\\"token\\\":-1939054456,\\\"hasLabel\\\":false,\\\"dataset\\\":\\\"cl1_train.csv\\\",\\\"rank\\\":0},\\\"recordId\\\":1,\\\"iLeft\\\":[10,6,9,0,7,14,4,2,11,12,13,3,8]}\",\"dataIndex\":0,\"isGzip\":false,\"dataNum\":1,\"algorithm\":\"FederatedGB\",\"status\":\"RUNNING\"}";
//        train = sendRequest(content1, SerializeUtil.serializeToString(boostP5Req), modelToken);
//        System.out.println(train);
//        resultMap = JsonUtil.parseJson(train);
//        Assert.assertTrue(resultMap.get(STAMP) != null);
//
//
//
//        content1 = "{\"phase\":1,\"data\":\"\",\"dataIndex\":0,\"isGzip\":false,\"dataNum\":1,\"algorithm\":\"FederatedGB\",\"status\":\"COMPLETE\"}";
//        train = sendRequest(content1, SerializeUtil.serializeToString(new SingleElement("")), modelToken);
//        Assert.assertTrue(COMPLETE.equalsIgnoreCase(train));
//
//    }
//
//
//    /**
//     * 随机生成modelToken
//     *
//     * @return
//     */
//    public static String getModelToken() {
//        UUID uuid = UUID.randomUUID();
//        String timeStr = uuid.toString().replace("-", "");
//        String subStr = timeStr.substring(timeStr.length() - 12);
//        String modelToken = "111-FederatedGB-" + subStr;
//        return modelToken;
//    }
//
//    /**
//     * 请求训练
//     *
//     * @param content
//     * @param dataStr
//     * @param modelToken
//     * @return
//     */
//    public static String sendRequest(String content, String dataStr, String modelToken) {
//        TrainRequest trainRequest = new TrainRequest(content);
//        trainRequest.setModelToken(modelToken);
//        if (!StringUtils.isEmpty(dataStr)) {
//            trainRequest.setData(dataStr);
//        }
//        TrainService trainService = new TrainService();
//        String train = trainService.train(trainRequest);
//        logger.info("返回结果为：{}", train);
//        return train;
//    }
//
//    /**
//     * 讲数组转换为有序的map
//     *
//     * @param uids
//     * @return
//     */
//    public static Map<Integer, String> getSortMap(String[] uids) {
//        Map<Integer, String> sortMap = new TreeMap<Integer, String>(new Comparator<Integer>() {
//            @Override
//            public int compare(Integer o1, Integer o2) {
//                return o1 - o2;
//            }
//        });
//        for (int i = 0; i < uids.length; i++) {
//            sortMap.put(i, uids[i]);
//        }
//        sortMap.put(uids.length, "uid");
//        return sortMap;
//    }
//
//    public static Map<Long, String> getSortMap1(String[] uids) {
//        Map<Integer, String> sortMap = new TreeMap<Integer, String>(new Comparator<Integer>() {
//
//            @Override
//            public int compare(Integer o1, Integer o2) {
//                return o1 - o2;
//            }
//        });
//        for (int i = 0; i < uids.length; i++) {
//            sortMap.put(i, uids[i]);
//        }
//        sortMap.put(uids.length, "uid");
//        Map<Long,String> res = sortMap.entrySet().stream().collect(Collectors.toMap(x->Long.valueOf(x.getKey()),x-> x.getValue()));
//        return res;
//    }
//
//    /**
//     * @className NoLableTrainTest
//     * @description: 模拟模型保存
//     * @return: void
//     * @author: geyan29
//     * @date: 2020/12/14 15:19
//     */
//    private static void mockSaveModel() {
//        new MockUp<ModelDao>() {
//            @Mock
//            public Boolean saveModel(String modelToken, Model model) {
//                return true;
//            }
//        };
//    }
//
//
//    private void mockCongfigInit() {
//        new MockUp<ConfigUtil>() {
//            @Mock
//            public boolean getJdChainAvailable() {
//                return false;
//            }
//        };
//    }
//}
