public string CreateStatusView(List<List<AddrPort>> shortage, List<List<AddrPort>> ones, List<List<AddrPort>> sequentially, Dictionary<string, LiveContext> liveContextDic, List<string> liveIdList, ryu_s.MyCommon.Browser.BrowserType browser)
 {
     var broadcastingCount = liveContextDic.Select(kv => kv.Value).Where(context => context.IsBroadcasting == true).Count();
     var s = $"";
     s += $"shortage={shortage.Count}" + Environment.NewLine;
     s += $"ones={ones.Count}" + Environment.NewLine;
     s += $"sequentially={sequentially.Count}" + Environment.NewLine;
     s += $"liveContextDic={liveContextDic.Count}" + Environment.NewLine;
     s += $"IsBroadcasting={broadcastingCount}" + Environment.NewLine;
     s += $"liveIdList={liveIdList.Count}" + Environment.NewLine;
     s += $"currentBrowser={browser}" + Environment.NewLine;
     return s;
 }
 private async Task<getplayerstatus_new> GetPlayerStatusTest(string live_id, ryu_s.MyCommon.Browser.BrowserType browser, IProgress<StringReport> progress)
 {
     if (progress == null)
         progress = new Progress<StringReport>();
     getplayerstatus_new playerStatus = null;
     string errMessage = "";
     System.Net.CookieContainer cc = null;
     cc = ryu_s.NicoLibrary.Tool.GetNicoCookieContainer(browser);
     Response<getplayerstatus_new> response = null;
     do
     {
         try
         {
             response = await GetSeatLoopTest(live_id, cc, progress, new System.Threading.CancellationToken(), true).ConfigureAwait(false);
         }
         catch (Exception ex)
         {
             throw new Exception($"playerstatusが取得出来なかった。リダイレクトされたかも。 live_id={live_id}", ex);
         }
         if (response is error_new<getplayerstatus_new>)
         {
             errMessage = $"playerstatusが取得出来なかった。code={response.GetError().code}, live_id={live_id}";
             break;
         }
         playerStatus = response.GetResponse();
         goto end;
     } while (true);
 end:
     if (playerStatus == null)
     {
         throw new Exception(errMessage);
     }
     return playerStatus;
 }