/* SPDX-License-Identifier: GPL-2.0-only */

#ifndef __SOC_MEDIATEK_MT8167_PM_DOMAINS_H
#define __SOC_MEDIATEK_MT8167_PM_DOMAINS_H

#include "mtk-pm-domains.h"
#include <dt-bindings/power/mt8167-power.h>

#define MT8167_PWR_STATUS_MFG_2D	BIT(24)
#define MT8167_PWR_STATUS_MFG_ASYNC	BIT(25)

/*
 * MT8167 power domain support
 */

static const struct scpsys_domain_data scpsys_domain_data_mt8167[] = {
	[MT8167_POWER_DOMAIN_MM] = {
		.name = "mm",
		.sta_mask = PWR_STATUS_DISP,
		.ctl_offs = SPM_DIS_PWR_CON,
		.sram_pdn_bits = GENMASK(11, 8),
		.sram_pdn_ack_bits = GENMASK(12, 12),
		.bp_infracfg = {
			BUS_PROT_UPDATE_TOPAXI(MT8167_TOP_AXI_PROT_EN_MM_EMI |
					       MT8167_TOP_AXI_PROT_EN_MCU_MM),
		},
		.caps = MTK_SCPD_ACTIVE_WAKEUP,
	},
	[MT8167_POWER_DOMAIN_VDEC] = {
		.name = "vdec",
		.sta_mask = PWR_STATUS_VDEC,
		.ctl_offs = SPM_VDE_PWR_CON,
		.sram_pdn_bits = GENMASK(8, 8),
		.sram_pdn_ack_bits = GENMASK(12, 12),
		.caps = MTK_SCPD_ACTIVE_WAKEUP,
	},
	[MT8167_POWER_DOMAIN_ISP] = {
		.name = "isp",
		.sta_mask = PWR_STATUS_ISP,
		.ctl_offs = SPM_ISP_PWR_CON,
		.sram_pdn_bits = GENMASK(11, 8),
		.sram_pdn_ack_bits = GENMASK(13, 12),
		.caps = MTK_SCPD_ACTIVE_WAKEUP,
	},
	[MT8167_POWER_DOMAIN_MFG_ASYNC] = {
		.name = "mfg_async",
		.sta_mask = MT8167_PWR_STATUS_MFG_ASYNC,
		.ctl_offs = SPM_MFG_ASYNC_PWR_CON,
		.sram_pdn_bits = 0,
		.sram_pdn_ack_bits = 0,
		.bp_infracfg = {
			BUS_PROT_UPDATE_TOPAXI(MT8167_TOP_AXI_PROT_EN_MCU_MFG |
					       MT8167_TOP_AXI_PROT_EN_MFG_EMI),
		},
	},
	[MT8167_POWER_DOMAIN_MFG_2D] = {
		.name = "mfg_2d",
		.sta_mask = MT8167_PWR_STATUS_MFG_2D,
		.ctl_offs = SPM_MFG_2D_PWR_CON,
		.sram_pdn_bits = GENMASK(11, 8),
		.sram_pdn_ack_bits = GENMASK(15, 12),
	},
	[MT8167_POWER_DOMAIN_MFG] = {
		.name = "mfg",
		.sta_mask = PWR_STATUS_MFG,
		.ctl_offs = SPM_MFG_PWR_CON,
		.sram_pdn_bits = GENMASK(11, 8),
		.sram_pdn_ack_bits = GENMASK(15, 12),
	},
	[MT8167_POWER_DOMAIN_CONN] = {
		.name = "conn",
		.sta_mask = PWR_STATUS_CONN,
		.ctl_offs = SPM_CONN_PWR_CON,
		.sram_pdn_bits = GENMASK(8, 8),
		.sram_pdn_ack_bits = 0,
		.caps = MTK_SCPD_ACTIVE_WAKEUP,
		.bp_infracfg = {
			BUS_PROT_UPDATE_TOPAXI(MT8167_TOP_AXI_PROT_EN_CONN_EMI |
					       MT8167_TOP_AXI_PROT_EN_CONN_MCU |
					       MT8167_TOP_AXI_PROT_EN_MCU_CONN),
		},
	},
};

static const struct scpsys_soc_data mt8167_scpsys_data = {
	.domains_data = scpsys_domain_data_mt8167,
	.num_domains = ARRAY_SIZE(scpsys_domain_data_mt8167),
	.pwr_sta_offs = SPM_PWR_STATUS,
	.pwr_sta2nd_offs = SPM_PWR_STATUS_2ND,
};

#endif /* __SOC_MEDIATEK_MT8167_PM_DOMAINS_H */


ex;
    }

    public int getErrorIndex() {
        return index;
    }
}
/*
 * Copyright (c) 2001, 2024, Oracle and/or its affiliates. All rights reserved.
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 *
 * This code is free software; you can redistribute it and/or modify it
 * under the terms of the GNU General Public License version 2 only, as
 * published by the Free Software Foundation.
 *
 * This code is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 * version 2 for more details (a copy is included in the LICENSE file that
 * accompanied this code).
 *
 * You should have received a copy of the GNU General Public License version
 * 2 along with this work; if not, write to the Free Software Foundation,
 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
 *
 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
 * or visit www.oracle.com if you need additional information or have any
 * questions.
 */

package nsk.jdwp.ReferenceType.Fields;

import java.io.*;
import java.util.*;

import nsk.share.*;
import nsk.share.jpda.*;
import nsk.share.jdwp.*;

public class fields001 {
    static final int JCK_STATUS_BASE = 95;
    static final int PASSED = 0;
    static final int FAILED = 2;
    static final String PACKAGE_NAME = "nsk.jdwp.ReferenceType.Fields";
    static final String TEST_CLASS_NAME = PACKAGE_NAME + "." + "fields001";
    static final String DEBUGEE_CLASS_NAME = TEST_CLASS_NAME + "a";

    static final String JDWP_COMMAND_NAME = "ReferenceType.Fields";
    static final int JDWP_COMMAND_ID = JDWP.Command.ReferenceType.Fields;

    static final String TESTED_CLASS_NAME = DEBUGEE_CLASS_NAME + "$" + "TestedClass";
    static final String TESTED_CLASS_SIGNATURE = "L" + TESTED_CLASS_NAME.replace('.', '/') + ";";

    static final String[][] fields = {
                    {"byteField", "B"},
                    {"booleanField", "Z"},
                    {"charField", "C"},
                    {"shortField", "S"},
                    {"intField", "I"},
                    {"longField", "J"},
                    {"floatField", "F"},
                    {"doubleField", "D"},
                    {"stringField", "Ljava/lang/String;"},
                    {"objectField",  TESTED_CLASS_SIGNATURE},
                    {"intArrayField", "[I"}
                 };
    static final int DECLARED_FIELDS = fields.length;
    static final int FIELD_MODIFIER_FLAGS = JDWP.ModifierFlag.PUBLIC;

    public static void main (String argv[]) {
        int result = run(argv, System.out);
        if (result != 0) {
            throw new RuntimeException("Test failed");
        }
    }

    public static int run(String argv[], PrintStream out) {
    return new fields001().runIt(argv, out);
    }

    public int runIt(String argv[], PrintStream out) {

        boolean success = true;

        try {
            ArgumentHandler argumentHandler = new ArgumentHandler(argv);
            Log log = new Log(out, argumentHandler);

            try {

                Binder binder = new Binder(argumentHandler, log);
                log.display("Start debugee VM");
                Debugee debugee = binder.bindToDebugee(DEBUGEE_CLASS_NAME);
                Transport transport = debugee.getTransport();
                IOPipe pipe = debugee.createIOPipe();

                log.display("Waiting for VM_INIT event");
                debugee.waitForVMInit();

                log.display("Querying for IDSizes");
                debugee.queryForIDSizes();

                log.display("Resume debugee VM");
                debugee.resume();

                log.display("Waiting for command: " + "


r("click",(t=>{g.blur(),e.next({fragment:!t.shiftKey})})),e.on("fragment",(({index:t,fragments:n,fragmentIndex:r})=>{m.disabled=0===t&&0===r,g.disabled=t===e.slides.length-1&&r===n.length-1}));let p=new Date;const v=()=>{const e=new Date,t=e=>`${Math.floor(e)}`.padStart(2,"0"),n=e.getTime()-p.getTime(),o=t(n/1e3%60),i=t(n/1e3/60%60),a=t(n/36e5%24);r(V.infoTime).textContent=e.toLocaleTimeString(),r(V.infoTimer).textContent=`${a}:${i}:${o}`};v(),setInterval(v,250),r(V.infoTimer).addEventListener("click",(()=>{p=new Date}))})(e)},X=e=>{if(!(e=>e.syncKey&&"string"==typeof e.syncKey)(e))throw new Error("The current instance of Bespoke.js is invalid for Marp bespoke presenter plugin.");Object.defineProperties(e,{openPresenterView:{enumerable:!0,value:H},presenterUrl:{enumerable:!0,get:R}}),g&&document.addEventListener("keydown",(t=>{"p"!==t.key||t.altKey||t.ctrlKey||t.metaKey||(t.preventDefault(),e.openPresenterView())}))};function H(){const{max:e,floor:t}=Math,n=e(t(.85*window.innerWidth),640),r=e(t(.85*window.innerHeight),360);return window.open(this.presenterUrl,F+this.syncKey,`width=${n},height=${r},menubar=no,toolbar=no`)}function R(){const e=new URLSearchParams(location.search);return e.set("view","presenter"),e.set("sync",this.syncKey),d(e)}const W=e=>{const t=u();return t===a&&e.appendChild(document.createElement("span")),{"":X,[i]:U,[a]:O}[t]},J=e=>{e.on("activate",(t=>{document.querySelectorAll(".bespoke-progress-parent > .bespoke-progress-bar").forEach((n=>{n.style.flexBasis=100*t.index/(e.slides.length-1)+"%"}))}))},Y=e=>{const t=Number.parseInt(e,10);return Number.isNaN(t)?null:t},z=(e={})=>{const t={history:!0,...e};return e=>{let n=!0;const r=e=>{const t=n;try{return n=!0,e()}finally{n=t}},o=(t={fragment:!0})=>{let n=t.fragment?Y(f("f")||""):null;((t,n)=>{const{min:r,max:o}=Math,{fragments:i,slides:a}=e,s=o(0,r(t,a.length-1)),l=o(0,r(n||0,i[s].length-1));s===e.slide()&&l===e.fragmentIndex||e.slide(s,{fragment:l})})((()=>{var t,r;if(location.hash){const[o]=location.hash.slice(1).split(":~:");if(/^\d+$/.test(o))return(null!==(t=Y(o))&&void 0!==t?t:1)-1;const i=document.getElementById(o)||document.querySelector(`a[name="${CSS.escape(o)}"]`);if(i){const{length:t}=e.slides;for(let o=0;o<t;o+=1)if(e.slides[o].contains(i)){const t=null===(r=e.fragments)||void 0===r?void 0:r[o],a=i.closest("[data-marpit-fragment]");if(t&&a){const e=t.indexOf(a);e>=0&&(n=e)}return o}}}return 0})(),n)};e.on("fragment",(({index:e,fragment


est2'],
      [[], 'hello world'],
    ];
    const result = [...registry];
    expect(result).toEqual(expected);
  });

  it('supports grouping ancestor entries at each path w/ `groupPath()` prop', () => {
    const registry = new RegisTree({
      groupPath(path, pathSet) {
        return pathSet.join('');
      },
    });
    registry.register([], 'root');
    registry.register(['hello'], 'hello', 'world');
    registry.register(['hello', 0, 'world'], 'hello');
    registry.register(['hello', 0, 'world'], 'friend');

    const expected = [
      [['hello', 0, 'world'], 'hellofriend'],
      [['hello'], 'helloworld'],
      [[], 'root'],
    ];
    const result = [...registry.scope(['hello'])];
    expect(result).toEqual(expected);
  });
});
import { Injectable } from '@angular/core';
import {Student} from './student';
import { Courses } from "./courses";

@Injectable({
  providedIn: 'root'
})
export class StudentService {
  storestdarr:Student[]=[];

  constructor()
  {

    this.storestdarr.push({name:"Anupama",id:1,email:"anupama@gmail.com",mobnumber:9870998909,gender:"female",country:"India",coursearr:[{crname:"html",checked:true},{crname:"CSS",checked:false},{crname:"JS",checked:false},{crname:"Angular5",checked:true},{crname:"JAVA",checked:true},{crname:"PHP",checked:false},{crname:"C#",checked:false}]});
    this.storestdarr.push({name:"Anamika",id:2,email:"anamika@gmail.com",mobnumber:9500367101,gender:"female",country:"India",coursearr:[{crname:"html",checked:false},{crname:"CSS",checked:false},{crname:"JS",checked:false},{crname:"Angular5",checked:false},{crname:"JAVA",checked:false},{crname:"PHP",checked:true},{crname:"C#",checked:false}]});
    this.storestdarr.push({name:"Veera",id:3,email:"Veera@gmail.com",mobnumber:7078960651,gender:"female",country:"India",coursearr:[{crname:"html",checked:false},{crname:"CSS",checked:false},{crname:"JS",checked:false},{crname:"Angular5",checked:true},{crname:"JAVA",checked:false},{crname:"PHP",checked:true},{crname:"C#",checked:false}]});
    this.storestdarr.push({name:"Kimaya",id:4,email:"kimaya@gmail.com",mobnumber:989785432,gender:"female",country:"India",coursearr:[{crname:"html",checked:false},{crname:"CSS",checked:false},{crname:"JS",checked:false},{crname:"Angular5",checked:false},{crname:"JAVA",checked:false},{crname:"PHP",checked:false},{crname:"C#",checked:true}]});

  }

  add(st:Student):void
  {
    this.storestdarr.push(st);
    console.log(this.storestdarr);
  }

  get(id:number):Student
  {
    for(let i=0;i<this.storestdarr.length;i++)
   {
    if(id==this.storestdarr[i].id)
     {
       this.display(i);

       return this.storestdarr[i];
     }
    }
  }

 display(i:number)
{
  console.log(" student of id" +[i]+":");
  console.log(this.storestdarr[i].id);
  console.log(this.storestdarr[i].name);
  console.log(this.storestdarr[i].email);
  console.log(this.storestdarr[i].mobnumber);
}

 delete(id:number)
 {
  for(let i=0;i<this.storestdarr.length;i++)
  {
     if(id==this.storestdarr[i].id)


): object is VariableCollection {
    return Array.isArray(object.variables) &&
           typeof object.uniqueId === 'string' &&
           typeof object.name === 'string';
  }
}

export default VariableCollection;
export enum CardTypes {
  INFO = "info",
  PRODUCT = "product",
  AD = "ad"
}

export type Cards = Array<ExtraCard>;

export type ExtraCard = AdCard | InfoCard;

interface GenericExtraCard {
  position?: number;
  label?: string;
  brand?: string;
}

export interface AdCard extends GenericExtraCard {
  type: CardTypes.AD;
  image: string;
  link: string;
}

export interface InfoCard extends GenericExtraCard {
  type: CardTypes.INFO;
  image: string;
  imageAltText: string;
  header: string;
  text: string;
  link: string;
  buttonText: string;
}

import { observable } from 'mobx';
import 'whatwg-fetch';
import { RouterStore } from 'mobx-router';

interface Bunny {
  _id: string;
  name: string;
  count: number;
}

export class Store {

  fetchQuery: (query: string) => Promise<any>;
  @observable bunnies: Array<Bunny> = [];
  @observable selectedBunny: Bunny;
  @observable router: RouterStore;

  constructor(fetchQueryFn: (query: string) => Promise<any>) {
    this.fetchQuery = fetchQueryFn;
    this.router = new RouterStore();
  }

  async loadBunnies() {
    const queryBunnies = 'query { bunnies { _id, name, count } }';
    const res = await this.fetchQuery(queryBunnies);
    this.bunnies = res.bunnies;
  }

  async loadBunny(id: string) {
    const queryBunny = `query { bunny(id: "${id}") { _id, name, count } }`;
    const res = await this.fetchQuery(queryBunny);
    this.selectedBunny = res.bunny;
  }

}

async function fetchQuery(query: String): Promise<any> {
  try {
    const res = await fetch('/graphql', {
      method: 'POST',
      headers: {
        'Content-type': 'application/json',
        Accept: 'application/json',
      },
      body: JSON.stringify({ query }),
    });
    const json = await res.json();
    if(json.errors) {
      throw new Error(JSON.stringify(json.errors));
    }
    return json.data;
  } catch (err) {
    console.error(err);
    throw new Error(JSON.stringify(err));
  }
}

export let store = new Store(fetchQuery);
export function getToken() {
  const token = localStorage.getItem("token");
  let finalToken: string;
  if (token == null || !isToken(token)) {
    finalToken = "";
  } else {
    finalToken = token;
  }
  return finalToken;
}
function isToken(token: string) {
  return /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/.test(
    token
  );
}
// tslint:disable:no-implicit-dependencies
import { SerializedQuery } from "../src/serialized-query";
import * as chai from "chai";
import { DB, RealTimeDB } from "abstracted-admin";
import { List, FireModel } from "firemodel";
import { Person } from "./testing/Person";
import * as helpers from "./testing/helpers";
helpers.setupEnv();

const peopleDataset = () => ({
  authenticated: {
    people: {
      a: {
        name: "Oldy McOldy",
        age: 99,
        favoriteColor: "blue",
        createdAt: new Date().getTime() - 100000,
        lastUpdated: new Date().getTime()
      },
      b: {
        name: "Midlife Crises",
        age: 50,
        favoriteColor: "blue",
        createdAt: new Date().getTime() - 200005,
        lastUpdated: new Date().get


.715955,"longitude":-73.8263,"area":"Queens","isOnline":"true","imageUrl":"https://webcams.nyctmc.org/api/cameras/1a64aa06-3f40-4f0e-b752-09ec44415ac0/image"},{"id":"097a7d75-1c6f-4817-aa34-1de4bb9202f4","name":"MHB-23 Manh LRDWY @ Twr","latitude":40.708814,"longitude":-73.991511,"area":"Manhattan","isOnline":"true","imageUrl":"https://webcams.nyctmc.org/api/cameras/097a7d75-1c6f-4817-aa34-1de4bb9202f4/image"},{"id":"c941aa1a-ebde-4589-9669-eaf67279dfab","name":"Drumgoole Rd W @ Arden Ave - quad - ptz - 141.10","latitude":40.54696,"longitude":-74.18117,"area":"Staten Island","isOnline":"true","imageUrl":"https://webcams.nyctmc.org/api/cameras/c941aa1a-ebde-4589-9669-eaf67279dfab/image"},{"id":"cde75072-a814-46b4-8785-765b314c43e8","name":"Drumgoogle Rd E @ Jefferson Blvd","latitude":40.544705,"longitude":-74.18201,"area":"Staten Island","isOnline":"true","imageUrl":"https://webcams.nyctmc.org/api/cameras/cde75072-a814-46b4-8785-765b314c43e8/image"},{"id":"b5a78bda-3ca9-4ad4-bd03-4cee70baba2d","name":"5 Ave @ 59 St","latitude":40.764289,"longitude":-73.973023,"area":"Manhattan","isOnline":"true","imageUrl":"https://webcams.nyctmc.org/api/cameras/b5a78bda-3ca9-4ad4-bd03-4cee70baba2d/image"},{"id":"d05b98ae-f2a7-4c26-8238-754081877484","name":"Northern Blvd @ Utopia Pkwy","latitude":40.757685,"longitude":-73.793017,"area":"Queens","isOnline":"true","imageUrl":"https://webcams.nyctmc.org/api/cameras/d05b98ae-f2a7-4c26-8238-754081877484/image"},{"id":"ba3d9734-3871-4d49-b46b-88d88dd96e71","name":"AVE C @ 23 St","latitude":40.73545,"longitude":-73.9751,"area":"Manhattan","isOnline":"true","imageUrl":"https://webcams.nyctmc.org/api/cameras/ba3d9734-3871-4d49-b46b-88d88dd96e71/image"},{"id":"83b8713b-048f-47a5-a81a-75157e837a4c","name":"8th Ave @ 23 St","latitude":40.7453108515355,"longitude":-73.9984918259082,"area":"Manhattan","isOnline":"true","imageUrl":"https://webcams.nyctmc.org/api/cameras/83b8713b-048f-47a5-a81a-75157e837a4c/image"},{"id":"7a0d9e49-875c-4c25-a92b-3d239de40d43","name":"Old Fulton St @ Prospect St","latitude":40.700757,"longitude":-73.991042,"area":"Brooklyn","isOnline":"true","imageUrl":"https://webcams.nyctmc.org/api/cameras/7a0d9e49-875c-4c25


ot_offset_y = 0,
		screen_align_x = "center",
		texture = "item_list_top_corner_1920",
		pivot_offset_x = -30 * SCALE_1366,
		texture_width = 416 * SCALE_1366,
		texture_height = 308 * SCALE_1366
	},
	left_corner_bottom_texture = {
		screen_align_y = "bottom",
		screen_offset_x = 0,
		pivot_align_y = "bottom",
		screen_offset_y = 0,
		pivot_align_x = "right",
		pivot_offset_y = 0,
		screen_align_x = "center",
		texture = "item_list_bottom_corner_1920",
		pivot_offset_x = -30 * SCALE_1366,
		texture_width = 416 * SCALE_1366,
		texture_height = 308 * SCALE_1366
	},
	right_gradient_texture = {
		screen_align_y = "center",
		screen_offset_x = 0,
		pivot_align_y = "center",
		texture = "item_list_gradient_right_1920",
		pivot_offset_y = 0,
		stretch_relative_height = 1,
		screen_align_x = "center",
		pivot_offset_x = 18,
		screen_offset_y = 0,
		pivot_align_x = "left",
		texture_width = 636 * SCALE_1366,
		texture_height = 4 * SCALE_1366,
		stretch_width = 750 * SCALE_1366,
		color_red = {
			255,
			255,
			180,
			180
		},
		color_white = {
			255,
			255,
			255,
			255
		}
	},
	right_vertical_line_texture = {
		screen_align_y = "center",
		screen_offset_x = 0,
		pivot_align_y = "center",
		screen_offset_y = 0,
		pivot_align_x = "right",
		pivot_offset_y = 0,
		screen_align_x = "center",
		texture = "item_list_vertical_line_right_1920",
		pivot_offset_x = 25 * SCALE_1366,
		texture_width = 16 * SCALE_1366,
		texture_height = 1016 * SCALE_1366
	},
	right_corner_top_texture = {
		screen_align_y = "top",
		screen_offset_x = 0,
		pivot_align_y = "top",
		screen_offset_y = 0,
		pivot_align_x = "left",
		pivot_offset_y = 0,
		screen_align_x = "center",
		texture = "item_list_top_corner_right_1920",
		pivot_offset_x = 30 * SCALE_1366,
		texture_width = 416 * SCALE_1366,
		texture_height = 308 * SCALE_1366
	},
	right_corner_bottom_texture = {
		screen_align_y = "bottom",
		screen_offset_x = 0,
		pivot_align_y = "bottom",
		screen_offset_y = 0,
		pivot_align_x = "left",
		pivot_offset_y = 0,
		screen_align_x = "center",
		texture = "item_list_bottom_corner_right_1920",
		pivot_offset_x = 30 * SCALE_1366,
		texture_width = 416 * SCALE_1366,
		texture_height = 308 * SCALE_1366
	}
}
ScoreboardSettings.pages.main_page[1366][768].do_not_render_buttons = true
ScoreboardSettings.items.left_team_rose = ScoreboardSettings.items.left_team_rose or {}
ScoreboardSettings.items.left_team_rose[1366] = ScoreboardSettings.items.left_team_rose[1366] or {}


/1981)
* **axis:** fix axis.x.tick.tooltip on rotated axis ([eed2f86](https://github.com/naver/billboard.js/commit/eed2f86ace926f65d69ee55c46b88a5b9b6c15c0)), closes [#1990](https://github.com/naver/billboard.js/issues/1990)
* **subchart:** fix duplicated node generation on data load ([d9a5d9a](https://github.com/naver/billboard.js/commit/d9a5d9a7f89e87f48b0bc5654ba097f6d7aa52c2)), closes [#2003](https://github.com/naver/billboard.js/issues/2003)
* **zoom:** fix zoom on latest chrome ([37edc9b](https://github.com/naver/billboard.js/commit/37edc9b55d55ecf5f67f104927499cae05eca3fa)), closes [/github.com/d3/d3-zoom/issues/231#issuecomment-802305692](https://github.com//github.com/d3/d3-zoom/issues/231/issues/issuecomment-802305692) [#1992](https://github.com/naver/billboard.js/issues/1992)

### Features

* **all:** update for d3 v6 ([2752e55](https://github.com/naver/billboard.js/commit/2752e5541dc2e6d9d54acd1a936756a745e30002)), closes [#1641](https://github.com/naver/billboard.js/issues/1641)
* **api:** Enhance .export() option to specify size ([3c2de80](https://github.com/naver/billboard.js/commit/3c2de807ffd2f82d8fa7d2ff1dbf4901be873405)), closes [#815](https://github.com/naver/billboard.js/issues/815) [#1969](https://github.com/naver/billboard.js/issues/1969)
* **api:** Intent to ship subchart APIs ([5572dc9](https://github.com/naver/billboard.js/commit/5572dc937ba44af2c6ae0e68cb60d8f72bd017ec)), closes [#1993](https://github.com/naver/billboard.js/issues/1993)
* **candlestick:** Intent to ship candlestick ([8d37bd8](https://github.com/naver/billboard.js/commit/8d37bd896827ac080f0585036efe1240038b2b92)), closes [#76](https://github.com/naver/billboard.js/issues/76) [#1167](https://github.com/naver/billboard.js/issues/1167)
* **candlestick:** Intent to ship candlestick type ([42307cb](https://github.com/naver/billboard.js/commit/42307cbabd80a9bd23cef7ac1ccc982787803921))

### BREAKING CHANGES

* **all:** - Update to work on d3 v6
- Added getPoint() to get event's position coordinate

https://github.com/d3/d3/blob/master/CHANGES.md
https://observablehq.com/d/f91cccf0cad5e9cb

# [3.0.0-next.1](https://github.com/naver/billboard.js/compare/2.2.2...3.0.0-next.1) (2021-02-08)

### Features

* **all:** update for d3 v6 ([2752e55](https://github.com/naver/billboard.js/commit/2752e5541dc2e6d9d54acd1a936756a745e30002)), closes [#1641](https://github.com/naver/billboard.js/issues/1641)

### BREAKING CHANGES

* **all:** - Update


# coding: utf-8

"""
    Slurm REST API

    API to access and control Slurm

    The version of the OpenAPI document: Slurm-24.11.5&openapi/slurmdbd&openapi/slurmctld
    Contact: sales@schedmd.com
    Generated by OpenAPI Generator (https://openapi-generator.tech)

    Do not edit the class manually.
"""  # noqa: E501

import unittest

from slurmrest_python.models.v0041_job_desc_msg_rlimits_nproc import V0041JobDescMsgRlimitsNproc

class TestV0041JobDescMsgRlimitsNproc(unittest.TestCase):
    """V0041JobDescMsgRlimitsNproc unit test stubs"""

    def setUp(self):
        pass

    def tearDown(self):
        pass

    def make_instance(self, include_optional) -> V0041JobDescMsgRlimitsNproc:
        """Test V0041JobDescMsgRlimitsNproc
            include_optional is a boolean, when False only required
            params are included, when True both required and
            optional params are included """
        # uncomment below to create an instance of `V0041JobDescMsgRlimitsNproc`
        """
        model = V0041JobDescMsgRlimitsNproc()
        if include_optional:
            return V0041JobDescMsgRlimitsNproc(
                set = True,
                infinite = True,
                number = 56
            )
        else:
            return V0041JobDescMsgRlimitsNproc(
        )
        """

    def testV0041JobDescMsgRlimitsNproc(self):
        """Test V0041JobDescMsgRlimitsNproc"""
        # inst_req_only = self.make_instance(include_optional=False)
        # inst_req_and_optional = self.make_instance(include_optional=True)

if __name__ == '__main__':
    unittest.main()


/******************************************************************************
 * Copyright 2020 The Firmament Authors. All Rights Reserved.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 *****************************************************************************/

#ifndef TASK_LOGGER_H__
#define TASK_LOGGER_H__

#include <firmament.h>

#ifdef __cplusplus
extern "C" {
#endif

fmt_err_t logger_start_mlog(char* path);
void logger_stop_mlog(void);
void get_working_log_session(char* path);

#ifdef __cplusplus
}
#endif

#endif


		release_region(adapdata->smba, SMBIOSIZE);
		kfree(adapdata);
		kfree(adap);
	}
}

static void piix4_remove(struct pci_dev *dev)
{
	if (piix4_main_adapter) {
		piix4_adap_remove(piix4_main_adapter);
		piix4_main_adapter = NULL;
	}

	if (piix4_aux_adapter) {
		piix4_adap_remove(piix4_aux_adapter);
		piix4_aux_adapter = NULL;
	}
}

static struct pci_driver piix4_driver = {
	.name		= "piix4_smbus",
	.id_table	= piix4_ids,
	.probe		= piix4_probe,
	.remove		= piix4_remove,
};

module_pci_driver(piix4_driver);

MODULE_AUTHOR("Frodo Looijaard <frodol@dds.nl> and "
		"Philip Edelbrock <phil@netroedge.com>");
MODULE_DESCRIPTION("PIIX4 SMBus driver");
MODULE_LICENSE("GPL");


4);*/import { setWorldConstructor, World, IWorldOptions } from "@cucumber/cucumber";
import { ThenableWebDriver } from "selenium-webdriver";

export default class BaseWorld extends World {
    private _driver: ThenableWebDriver | undefined;
    private _props: any;

    constructor(options: IWorldOptions) {
        super(options);
    }

    setDriver = (driver: ThenableWebDriver): void => {
        this._driver = driver;
        return;
    };

    getDriver = (): ThenableWebDriver => {
        if (this._driver) {
            return this._driver;
        }

        throw new Error("Driver not intialized.");
    };

    setCustomProp = (key: string, value: any): void => {
        this._props[key] = value;
        return;
    };

    getCustomProp = (key: string): any => {
        return this._props[key];
    };
}

setWorldConstructor(BaseWorld);
namespace importing {
  export class Foo { }
}
import Bar = importing.Foo;

class Foo3 {
  foo: number;
}
declare let foo3: Foo3;

const MovingTypes = (): void => {
  // class Foo {}
  // var Bar = Foo;
  // var bar: Bar;

  const bar: Bar = {
    key: 'value'
  };
  console.log(bar);

  const foo2 = 123;
  let bar2: typeof foo2;
  bar2 = 123;
  console.log(bar2);

  let bar3: typeof foo3.foo;
  bar3 = 123;
  // bar3 = '333' error
  console.log(bar3);

  const foo4 = 'hello typescript';
  let bar4: typeof foo4;
  bar4 = 'hello typescript';
  // bar4 = 'hello world'; error
  console.log(bar4);

  const colors = {
    red: 'red',
    blue: 'blue'
  }
  type Colors = keyof typeof colors;
  let color: Colors;
  color = 'red';
  color = 'blue';
  // color = 'green'; error
  console.log(color);
}

export default MovingTypes;import { Measure } from '../measure';
import { CircuitType, Score, scoreCircuits, scoreOpenDistance } from '../scorer';

function scoreOutAndReturn(multiplierFn: (d: number) => number, measure: Measure): Score[] {
  let maxIndexes;
  let maxDistance = 0;
  let maxScoringDistance = 0;
  const len = measure.points.length;
  for (let i = 0; i < len - 1; i++) {
    for (let tp1 = i; tp1 < len - 1; tp1++) {
      for (let tp2 = tp1 + 1; tp2 < len; tp2++) {
        const distance = measure.getDistance(tp1, tp2);
        for (let l = tp2; l < len; l++) {
          const gap = measure.getDistance(i, l);
          if (gap <= 800) {
            const scoringDistance = 2 * distance - gap;
            if (scoringDistance > maxScoringDistance) {
              maxIndexes = [i, tp1, tp2, l];
              maxDistance = distance;
              maxScoringDistance = scoringDistance;
            }
          }
        }
      }
    }
  }
  return maxIndexes == null
    ? []
    : [
        new Score({
          distance: maxScoringDistance,
          indexes: maxIndexes,
          multiplier: multiplierFn(2 * maxDistance),
          circuit: CircuitType.OutAndReturn,
          closingRadius: 800,
        }),
      ];
}

function scoreTriangles(
  faiMultiplierFn: (d: number) => number,
  flatMultiplierFn: (d: number) => number,
  measure: Measure,
  distances: number[],
  indexes: number[],
): Score[] {
  const firstIndex = indexes[0];
  const lastIndex = indexes[2];
  cons


"
	"strings"
	"time"

	"github.com/davecgh/go-spew/spew"
	"github.com/syndtr/goleveldb/leveldb"
	"github.com/syndtr/goleveldb/leveldb/util"
	"go.opencensus.io/trace"

	"github.com/gochain/gochain/v4/accounts"
	"github.com/gochain/gochain/v4/accounts/keystore"
	"github.com/gochain/gochain/v4/common"
	"github.com/gochain/gochain/v4/common/hexutil"
	"github.com/gochain/gochain/v4/common/math"
	"github.com/gochain/gochain/v4/consensus/clique"
	"github.com/gochain/gochain/v4/core"
	"github.com/gochain/gochain/v4/core/rawdb"
	"github.com/gochain/gochain/v4/core/types"
	"github.com/gochain/gochain/v4/core/vm"
	"github.com/gochain/gochain/v4/crypto"
	"github.com/gochain/gochain/v4/eth/gasprice"
	"github.com/gochain/gochain/v4/log"
	"github.com/gochain/gochain/v4/p2p"
	"github.com/gochain/gochain/v4/params"
	"github.com/gochain/gochain/v4/rlp"
	"github.com/gochain/gochain/v4/rpc"
)

// PublicEthereumAPI provides an API to access Ethereum related information.
// It offers only methods that operate on public data that is freely available to anyone.
type PublicEthereumAPI struct {
	b Backend
}

// NewPublicEthereumAPI creates a new Ethereum protocol API.
func NewPublicEthereumAPI(b Backend) *PublicEthereumAPI {
	return &PublicEthereumAPI{b}
}

// GasPrice returns a suggestion for a gas price.
func (s *PublicEthereumAPI) GasPrice(ctx context.Context) (*hexutil.Big, error) {
	price, err := s.b.SuggestPrice(ctx)
	return (*hexutil.Big)(price), err
}

// ProtocolVersion returns the current Ethereum protocol version this node supports
func (s *PublicEthereumAPI) ProtocolVersion() hexutil.Uint {
	return hexutil.Uint(s.b.ProtocolVersion())
}

// Syncing returns false in case the node is currently not syncing with the network. It can be up to date or has not
// yet received the latest block headers from its pears. In case it is synchronizing:
// - startingBlock: block number this node started to synchronise from
// - currentBlock:  block number this node is currently importing
// - highestBlock:  block number of the highest block header this node has received from peers
// - pulledStates:  number of state entries processed until now
// - knownStates:   number of known state entries that still need to be pulled
func (s *PublicEthereumAPI) Syncing() (interface{}, error) {
	progress := s.b.Downloader().Progress()

	// Return not syncing if the synchronisation already completed
	if progress.CurrentBlock >= progress.HighestBlock {
		return false, nil
	}
	// Otherwise gather the block sync stats
	return map[string]interface{}{
		"startingBlock": hexutil.Uint64(progress.StartingBlock),
		"currentBlock":  hexutil.Uint64(progress.CurrentBlock),
		"highestBlock":  hexutil.Uint64(progress.HighestBlock),
		"pulledStates":  hexutil.Uint64(progress.PulledStates),
		"knownStates":   hexutil.Uint64(progress.KnownStates),
	}, nil
}

// PublicTxPoolAPI offers and API for the transaction pool. It only operates on data that is non confidential.
type PublicTxPoolAPI struct {
	b Backend
}

// NewPublicTxPoolAPI creates


         selectionEnd
                )
                success = node.performAction(AccessibilityNodeInfo.ACTION_SET_SELECTION, arguments)
                Log.d(logTag, "Update selection to $selectionStart $selectionEnd success:$success")
            }
        }

        return success
    }

    override fun onAccessibilityEvent(event: AccessibilityEvent) {
    }

    override fun onServiceConnected() {
        super.onServiceConnected()
        ctx = this
        val info = AccessibilityServiceInfo()
        if (Build.VERSION.SDK_INT >= 33) {
            info.flags = FLAG_INPUT_METHOD_EDITOR or FLAG_RETRIEVE_INTERACTIVE_WINDOWS
        } else {
            info.flags = FLAG_RETRIEVE_INTERACTIVE_WINDOWS
        }
        setServiceInfo(info)
        fakeEditTextForTextStateCalculation = EditText(this)
        // Size here doesn't matter, we won't show this view.
        fakeEditTextForTextStateCalculation?.layoutParams = LayoutParams(100, 100)
        fakeEditTextForTextStateCalculation?.onPreDraw()
        val layout = fakeEditTextForTextStateCalculation?.getLayout()
        Log.d(logTag, "fakeEditTextForTextStateCalculation layout:$layout")
        Log.d(logTag, "onServiceConnected!")
    }

    override fun onDestroy() {
        ctx = null
        super.onDestroy()
    }

    override fun onInterrupt() {}
}
package net.mullvad.mullvadvpn.test.mockapi.util

import org.joda.time.DateTime
import org.json.JSONObject

fun accountInfoJson(id: String, expiry: DateTime) =
    JSONObject().apply {
        put("id", id)
        put("expiry", expiry.formatStrictlyAccordingToIso8601AndRfc3339())
        put("max_devices", 5)
        put("can_add_devices", true)
    }

fun accountCreationJson(id: String, accountToken: String, expiry: DateTime) =
    accountInfoJson(id, expiry).apply { put("number", accountToken) }

fun deviceJson(id: String, name: String, publicKey: String, creationDate: DateTime) =
    JSONObject().apply {
        put("id", id)
        put("name", name)
        put("pubkey", publicKey)
        put("hijack_dns", true)
        put("created", creationDate.formatStrictlyAccordingToIso8601AndRfc3339())
        put("ipv4_address", "127.0.0.1/32")
        put("ipv6_address", "fc00::1/128")
    }

fun accessTokenJsonResponse(accessToken: String, expiry: DateTime) =
    JSONObject().apply {
        put("access_token", accessToken)
        put("expiry", expiry.formatStrictlyAccordingToIso8601AndRfc3339())
    }

fun tooManyDevicesJsonResponse() =
    JSONObject().apply {
        put("code", "MAX_DEVICES_REACHED")
        put("detail", "This account already has the maximum number of devices.")
    }
package net.mullvad.mullvadvpn.viewmodel

import androidx.lifecycle.viewModelScope
import app.cash.turbine.test
import io.mockk.every
import io.mockk.mockk
import io.mockk.mockkStatic
import io.mockk.unmockkAll
import kotlin.test.assertEquals
import kotlinx.coroutines.cancel
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.test.runTest
import net.mullvad.mullvadvpn.lib.common.test.TestCoroutineRule
import net.mullvad.mullvadvpn.model.DeviceState
import net.mullvad.mullvadvpn.repository.DeviceRepository
import net.mullvad.mullvadvpn.ui.VersionInfo
import net.mullvad.mullvadvpn.ui.serviceconnection.AppVersionInfoCache
import net.mullvad.mullvadvpn.ui.serviceconnection.ServiceConnectionContainer
import net.mullvad.mullvadvpn.ui.serviceconnection.ServiceConnectionManager
import net.mullvad.mullvadvpn.ui.serviceconnection.ServiceConnectionState
import net.mullvad.mullvadvpn.util.appVersionCallbackFlow
import org.junit.jupiter.api.AfterEach
import org.junit.jupiter.api.BeforeEach


param parent
	 *            親のコンポジット
	 *
	 * @see com.clustercontrol.notify.dialog.NotifyBasicCreateDialog#customizeDialog(Composite)
	 */
	@Override
	protected void customizeSettingDialog(Composite parent) {
		final Shell shell = this.getShell();

		// タイトル
		shell.setText(Messages.getString("dialog.notify.message.create.modify"));

		// 変数として利用されるラベル
		Label label = null;
		// 変数として利用されるグリッドデータ
		GridData gridData = null;

		// レイアウト
		GridLayout layout = new GridLayout(1, true);
		layout.marginWidth = 10;
		layout.marginHeight = 10;
		layout.numColumns = 15;
		parent.setLayout(layout);

		/*
		 * メッセージ
		 */
		// メッセージグループ
		Group groupMessage = new Group(parent, SWT.NONE);
		layout = new GridLayout(1, true);
		layout.marginWidth = 5;
		layout.marginHeight = 5;
		layout.numColumns = 15;
		groupMessage.setLayout(layout);
		gridData = new GridData();
		gridData.horizontalSpan = 15;
		gridData.horizontalAlignment = GridData.FILL;
		gridData.grabExcessHorizontalSpace = true;
		groupMessage.setLayoutData(gridData);
		groupMessage.setText(Messages.getString("notifies.message"));

		// 空行
		label = new Label(groupMessage, SWT.NONE);
		gridData = new GridData();
		gridData.horizontalSpan = 15;
		gridData.horizontalAlignment = GridData.FILL;
		gridData.grabExcessHorizontalSpace = true;
		label.setLayoutData(gridData);

		/*
		 * 重要度 ごとの設定
		 */
		// ラベル（重要度）
		label = new Label(groupMessage, SWT.NONE);
		gridData = new GridData();
		gridData.horizontalSpan = WIDTH_PRIORITY;
		gridData.horizontalAlignment = GridData.FILL;
		gridData.grabExcessHorizontalSpace = true;
		label.setLayoutData(gridData);
		label.setText(Messages.getString("priority"));

		// ラベル（通知）
		label = new Label(groupMessage, SWT.NONE);
		gridData = new GridData();
		gridData.horizontalSpan = WIDTH_CHECK;
		gridData.horizontalAlignment = GridData.CENTER;
		gridData.grabExcessHorizontalSpace = true;
		label.setLayoutData(gridData);
		label.setText(Messages.getString("notify.attribute"));

		// ラベル（ルールベース）
		label = new Label(groupMessage, SWT.NONE);
		gridData = new GridData();
		gridData.horizontalSpan = WIDTH_RULEBASE_ADDRESS;
		gridData.horizontalAlignment = GridData.FILL;
		gridData.grabExcessHorizontalSpace = true;
		label.setLayoutData(gridData);
		label.setText(Messages.getString("rulebase"));

		// メッセージ 重要度：情報
		label = this.getLabelPriority(groupMessage, Messages.getString("info"), PriorityColorConstant.COLOR_INFO);
		this.m_checkRuleBaseInfo = this.getCheckRuleBase(groupMessage);
		this.m_checkRuleBaseInfo.addSelectionListener(new SelectionAdapter() {
			@Override
			public void widgetSelected(SelectionEvent e) {
				m_textRuleBaseInfo.setEnabled(m_checkRuleBaseInfo.getSelection());
				update();
			}
		});
		this.m_textRuleBaseInfo = this.getTextRuleBase(groupMessage);
		this.m_textRuleBaseInfo.addModifyListener(new ModifyListener() {
			@Override
			public void modifyText(ModifyEvent arg0) {
				update();
			}
		});

		// メッセージ 重要度：警告
		label = this.getLabelPriority(groupMessage, Messages.getString("warning"


ao Zakona Boga tvojega - koji je i kraljev zakon - neka se oštro osudi: na smrt, na progonstvo, na novčanu globu ili na tamnicu."</verse>
    <verse number="27">"Blagoslovljen neka je Jahve, Bog otaca naših, koji je nadahnuo srce kraljevo da proslavi Dom Jahvin u Jeruzalemu</verse>
    <verse number="28">i koji je okrenuo prema meni naklonost kralja, njegovih savjetnika i svih najmoćnijih kraljevskih činovnika. A ja se osmjelih jer ruka Jahve, Boga mojega, bijaše nada mnom i sabrah glavare Izraela da pođu sa mnom."</verse>
   </chapter>
   <chapter number="8">
    <verse number="1">Evo glavara obitelji s rodoslovljem koji su sa mnom pošli iz Babilona za vladavine kralja Artakserksa:</verse>
    <verse number="2">Od Pinhasovih sinova: Geršom; od Itamarovih sinova: Daniel; od Davidovih sinova: Hatuš,</verse>
    <verse number="3">Šekanijini sinovi; od sinova Paroševih: Zaharija i s njim upisanih muškaraca stotinu i pedeset;</verse>
    <verse number="4">od Pahat-Moabovih sinova: Elijoenaj, sin Zerahjin, i s njim dvije stotine muškaraca;</verse>
    <verse number="5">od Zatuovih sinova: Šekanija, sin Jahazielov, i s njim tri stotine muškaraca;</verse>
    <verse number="6">od sinova Adinovih: Ebed, sin Jonatanov, i s njim pedeset muškaraca;</verse>
    <verse number="7">od Elamovih sinova: Izaija, sin Atalijin, i s njim sedamdeset muškaraca;</verse>
    <verse number="8">od Šefatjinih sinova: Zebadja, sin Mihaelov, i s njim osamdeset muškaraca;</verse>
    <verse number="9">od Joabovih sinova: Obadja, sin Jehielov, i s njim dvije stotine i osamnaest muškaraca;</verse>
    <verse number="10">od sinova Banijevih: Šelomit, sin Josifjin, i s njim stotinu i šezdeset muškaraca;</verse>
    <verse number="11">od Bebajevih sinova: Zaharija, sin Bebajev, i s njim dvadeset i osam muškaraca;</verse>
    <verse number="12">od Azgadovih sinova: Johanan, sin Hakatanov, i s njim stotinu i deset muškaraca;</verse>
    <verse number="13">od posljednjih Adonikamovih sinova poimence: Elifelet, Jeiel i Šemaja, i s njima šezdeset muškaraca;</verse>
    <verse number="14">i od sinova Bigvajevih: Utaj, sin Zabudov, i s njim sedamdeset muškaraca.</verse>
    <verse number="15">Sabrao sam ih kod rijeke koja teče prema Ahavi. Utaborili smo se za tri dana ondje. Pregledao sam svjetovnjake i svećenike, ali nisam ondje našao ni jednog levita.</verse>
    <verse number="16">Tada sam poslao glavare Eliezera, Ariela, Šemaju, Elnatana, Jariba, Elnatana, Natana, Zahari


 {
        display: block;
        padding: 8px 24px;
        color: #333;
        text-decoration: none;
      }

      &::after {
        position: absolute;
        content: "";
        display: block;
        height: 3px;
        background-color: @UNIVERS;
        width: 0;
        left: 50%;
        bottom: 0;
      }

      &_active {
        a {
          color: #113f6d;
          font-weight: 700;
        }

        &::after {
          width: 100%;
          left: 0;
          animation: tab-active-animation 200ms ease-in 1 forwards;
        }
      }
    }
  }

  @keyframes tab-active-animation {
    0% {
      width: 0;
      left: 50%;
    }

    100% {
      width: 100%;
      left: 0;
    }
  }

  .oui-message {
    margin: @spacing-top @spacing-side_l 0 @spacing-side_l;

    @media (max-width: 1280px) {
      margin: @spacing-top @spacing-side_s 0 @spacing-side_s;
    }
  }

  &-header {
    padding: @spacing-top @spacing-side_l;
    background-color: #e9ebe7;

    &__title {
      margin: 0;
      margin-bottom: 16px;
      font-size: rem-calc(36);
      font-weight: 400;
    }
  }

  &__storage {
    padding: @spacing-top @spacing-side_l;

    .oui-table {
      font-size: rem-calc(16);

      .oui-table__cell {
        &_action {
          vertical-align: middle;
          width: 80px;
          text-align: right;
        }
      }
    }

    .back-button {
      display: inline-block;
      padding: rem-calc(10) 0;
    }
  }

  &__row {
    margin: 0;
  }

  @media (max-width: 1280px) {
    &-header {
      padding: @spacing-top @spacing-side_s;
    }

    &__dashboard {
      padding: @spacing-top - @tile-margin @spacing-side_s - @tile-margin;
    }

    &__storage {
      padding: @spacing-top @spacing-side_s;
    }
  }
}
@cloud-project-sidebar-width    : 250px;
@cloud-project-sidebar-zindex   : 1020;
@cloud-project-bottombar-zindex : 1010;

//--------SIDEBAR--------

.cloud-project-sidebar {
  width: @cloud-project-sidebar-width;
  position: fixed;
  top: @top_bar_height;
  bottom: 0;
  border-right: 1px solid #d2d2d2;
  overflow-y: auto;
  overflow-x: hidden;
  z-index: @cloud-project-sidebar-zindex;
}

/* Overriding header tab active color */
.cloud-project-compute-content {
  .oui-header-tabs__item_active {
    .oui-button_dropdown {
      border-bottom-color: @UNIVERS;
    }
  }
}

@media (max-width: @screen-md-min) {
  .cloud-project-sidebar {
    position: static;
    width: 100%;
    height: 250px;
    overflow: hidden;
    padding: 0;
  }
}

/* Medium devices (desktops, 992px and up to 1200px) */
@media (min-width: @screen-md-min) and (max-width: @screen-lg-min) {
  .cloud-project-sidebar {
    width: @cloud-project-sidebar-width - 50px;
  }
}

//--------CONTENT--------

.cloud-project-content.with-sidebar {
  margin-left:


s to connect to the archiver.
        /// \return true if the connection was successful.
        auto init() -> bool;

        /// Retrieves the block at the given height from the archiver.
        /// \param height height of the block to retrieve.
        /// \return block at the given height or std::nullopt if not found.
        auto get_block(uint64_t height)
            -> std::optional<cbdc::atomizer::block>;

      private:
        network::tcp_socket m_sock;
        network::endpoint_t m_endpoint;
        std::shared_ptr<logging::log> m_logger;
    };
}

#endif // OPENCBDC_TX_SRC_ARCHIVER_CLIENT_H_
// Copyright (c) 2021 MIT Digital Currency Initiative,
//                    Federal Reserve Bank of Boston
// Distributed under the MIT software license, see the accompanying
// file COPYING or http://www.opensource.org/licenses/mit-license.php.

#include "state_machine.hpp"

#include "controller.hpp"
#include "format.hpp"
#include "util/raft/serialization.hpp"
#include "util/serialization/util.hpp"

namespace cbdc::coordinator {
    auto state_machine::commit(uint64_t log_idx, nuraft::buffer& data)
        -> nuraft::ptr<nuraft::buffer> {
        assert(log_idx == m_last_committed_idx + 1);
        m_last_committed_idx = log_idx;
        auto comm = cbdc::coordinator::controller::sm_command_header();
        auto deser = cbdc::nuraft_serializer(data);
        // Deserialize the header from the state machine command
        deser >> comm;
        switch(comm.m_comm) {
            case command::prepare: {
                // Put the dtx in the prepare phase and associated data in the
                // relevant map
                auto res = m_state.m_prepare_txs.emplace(
                    comm.m_dtx_id.value(),
                    nuraft::buffer::copy(data));
                if(!res.second) {
                    // dtx IDs are supposed to be unique so if the dtx is
                    // already present in the prepare map, that would indicate
                    // a bug elsewhere in the codebase. Crash to protect the
                    // system.
                    m_logger->fatal("Duplicate prepare for dtx",
                                    to_string(comm.m_dtx_id.value()));
                }
                break;
            }
            case command::commit: {
                // Remove the dtx from the prepare map
                auto res = m_state.m_prepare_txs.erase(comm.m_dtx_id.value());
                if(res == 0U) {
                    // To be in the commit phase the dtx should have been in
                    // the prepare phase. If it's not, that's a bug and we
                    // crash to protect the system.
                    m_logger->fatal("Prepare not found for commit dtx",
                                    to_string(comm.m_dtx_id.value()));
                }
                // Put the dtx in the commit map with associated data
                m_state.m_commit_txs.emplace(comm.m_dtx_id.value(),
                                             nuraft::buffer::copy(data));

                break;
            }
            case command::discard: {
                // Remove the dtx from the commit map
                auto res = m_state.m_commit_txs.erase(comm.m_dtx_id.value());
                if(res == 0U) {
                    // If the dtx wasn't in the commit map a bug has occurred
                    // and we crash
                    m_logger->fatal("Commit not found for discard dtx",
                                    to_string(comm.m_dtx_id.value()));
                }
                // Add the dtx to the discard set
                m_state.m_discard_txs.emplace(comm.


ary>
            /// Lex a sequence of spacing characters.
            /// Always returns null.
            /// </summary>
            private Token LexSpace()
            {
                Contracts.Assert(LexCharUtils.StartKind(ChCur) == LexStartKind.Space);
                while (LexCharUtils.IsSpace(ChNext()))
                    ;
                return null;
            }

            /// <summary>
            /// Lex a line termination character. Transforms CRLF into a single LF.
            /// Updates the line mapping. When this "drops" a character and sb is not
            /// null, it adds the character to sb. It does NOT add the returned character
            /// to the sb.
            /// </summary>
            private char LexLineTerm(StringBuilder sb = null)
            {
                Contracts.Assert(LexCharUtils.StartKind(ChCur) == LexStartKind.LineTerm);
                int ichMin = _cursor.IchCur;
                if (ChCur == '\xD' && ChPeek(1) == '\xA')
                {
                    if (sb != null)
                        sb.Append(ChCur);
                    ChNext();
                }
                char ch = ChCur;
                ChNext();

                if (_ichMinTok == ichMin)
                {
                    // Not nested.
                    _queue.Enqueue(new NewLineToken(GetSpan(), false));
                }
                else
                {
                    // Is nested.
                    _queue.Enqueue(new NewLineToken(GetTextSpan(ichMin, _cursor.IchCur), true));
                }
                _fLineStart = true;
                return ch;
            }

            private Token LexPreProc()
            {
                // We don't currently support pre-processing.
                return LexError();
            }

            /// <summary>
            /// Skip over an error character. Always returns null.
            /// REVIEW: Should we skip over multiple?
            /// </summary>
            private Token LexError()
            {
                _sb.Length = 0;
                do
                {
                    _sb.AppendFormat("{0}({1})", ChCur, LexCharUtils.GetUniEscape(ChCur));
                } while (LexCharUtils.StartKind(ChNext()) == LexStartKind.None && !Eof);
                return new ErrorToken(GetSpan(), ErrId.BadChar, _sb.ToString());
            }
        }
    }
}


t org.openjdk.jmc.joverflow.support.Constants;
import org.openjdk.jmc.joverflow.util.ClassUtils;

/**
 * Descriptor for instances of HashSet and LinkedHashSet.
 */
public class HashSetDescriptor extends AbstractCollectionDescriptor
		implements CollectionInstanceDescriptor.CapacityDifferentFromSize, Constants {
	private final Factory factory;
	private final ArrayBasedCollectionDescriptor mapDesc;

	private HashSetDescriptor(JavaObject col, Factory factory) {
		super(col);
		this.factory = factory;
		JavaThing mapField = fields[factory.mapFieldIdx];
		if (mapField == null || !(mapField instanceof JavaObject)) {
			// Unresolved object, or collection caught in inconsistent state
			mapDesc = null;
			return;
		}

		JavaObject map = (JavaObject) mapField;
		mapDesc = factory.hashMapDescFactory.get(map);
	}

	@Override
	public int getNumElements() {
		return (mapDesc != null) ? mapDesc.getNumElements() : 0;
	}

	@Override
	public void iterateList(final ListIteratorCallback cb) {
		if (mapDesc == null) {
			return;
		}
		mapDesc.iterateMap(new MapIteratorCallback() {
			@Override
			public boolean scanMapEntry(JavaHeapObject key, JavaHeapObject value) {
				return cb.scanListElement(key);
			}

			@Override
			public boolean scanImplementationObject(JavaHeapObject implObj) {
				return cb.scanImplementationObject(implObj);
			}
		});
	}

	@Override
	public void iterateMap(MapIteratorCallback cb) {
		throw new UnsupportedOperationException();
	}

	@Override
	public int doGetImplSize() {
		if (mapDesc == null) {
			return col.getSize();
		}
		mapDesc.col.setVisitedAsCollectionImpl();
		return col.getSize() + ((mapDesc != null) ? mapDesc.getImplSize() : 0);
	}

	@Override
	public int getSparsenessOverhead(int ptrSize) {
		if (mapDesc == null) {
			return 0;
		}
		return mapDesc.getSparsenessOverhead(ptrSize);
	}

	@Override
	public int getDefaultCapacity() {
		return mapDesc != null ? mapDesc.getDefaultCapacity() : 16;
	}

	@Override
	public int getCapacity() {
		return mapDesc != null ? mapDesc.getCapacity() : 0;
	}

	@Override
	public long getModCount() {
		return mapDesc != null ? mapDesc.getModCount() : 0;
	}

	@Override
	AbstractCollectionDescriptor.Factory getFactory() {
		return factory;
	}

	static class Factory extends AbstractCollectionDescriptor.Factory {
		// Possible names of fields for the backing HashMap in different impls of HashSet
		private static final String MAP_FIELD_NAMES = "map|backingMap";

		private final int mapFieldIdx;
		private final ArrayBasedCollectionDescriptor.Factory hashMapDescFactory;

		Factory(JavaClass hashSetClazz, JavaClass[] implClasses,
				ArrayBasedCollectionDescriptor.Factory hashMapDescFactory) {
			// We deliberately treat HashSet.map as an "extra" field that should be followed
			// during breadth-first scan. In that way, we scan HashSet->HashMap, and eventually
			// fields such as HashMap.keySet in that "dependent" HashMap. To make the code
			// treat (Linked)HashSet.map as extra field, we don't put it below in knownFieldNames
			// parameter, despite the fact that this field is quite well-known.
			super(hashSetClazz, false, implClasses, null, true, new String[] {});
			this.hashMapDescFactory = hashMapDescFactory;
			String mapFieldName = ClassUtils.getExactFieldName(MAP_FIELD_NAMES, hashSetClazz);
			mapFieldIdx = hashSetClazz.getInstanceFieldIndex(mapFieldName);
		}

		private Factory(JavaClass clazz, AbstractCollectionDescriptor.Factory superclassFactory) {
			super(clazz, superclassFactory);
			this.hashMapDescFactory = ((Factory) superclassFactory).hash


.dart';

final List<Institution> pohang2 = [
  Institution(
    name: '아이하늘 언어심리치료센터',
    phoneNumber: '054-291-9569',
    imagePath: 'assets/images/pohang4.png',
    address: '경북 포항시 북구 성실로 55 창성빌딩 4층',
  ),
  Institution(
    name: '소나무아동발달심리센터',
    phoneNumber: '054-255-7577',
    imagePath: 'assets/images/pohang5.png',
    address: '경북 포항시 북구 법원로 157 3층',
  ),
  Institution(
    name: '포항한상담센터',
    phoneNumber: '0507-1403-7511',
    imagePath: 'assets/images/pohang6.png',
    address: '경북 포항시 북구 장량로61번길 15-2',
  ),
];import 'package:bridze/widgets/institution.dart';

final List<Institution> wanju1 = [
  Institution(
    name: '킹s스피치 언어발달센터',
    phoneNumber: '0507-1460-3462',
    imagePath: 'assets/images/wanju1.png',
    address: '전북 완주군 봉동읍 완주산단9로 15 2층',
  ),
  Institution(
    name: '늘해랑아동발달센터',
    phoneNumber: '0507-1343-5001',
    imagePath: 'assets/images/wanju2.png',
    address: '전북 완주군 이서면 기지로 35',
  ),
  Institution(
    name: '이랑아동발달통합지원센터',
    phoneNumber: '063-261-0030',
    imagePath: 'assets/images/wanju3.png',
    address: '전북 완주군 봉동읍 구미1길 49-60',
  ),
];
import 'package:bridze/widgets/institution.dart';

final List<Institution> gangseo2 = [
  Institution(
    name: '아이라라 심리언어상담센터 강서센터',
    phoneNumber: '0507-1306-5255',
    imagePath: 'assets/images/gangseo4.png',
    address: '서울 강서구 화곡로 429 토피아빌딩 3층',
  ),
  Institution(
    name: '한울심리상담센터',
    phoneNumber: '0507-1323-8875',
    imagePath: 'assets/images/gangseo5.png',
    address: '서울 강서구 마곡중앙로 161-8 두산더랜드파크 C동 710호',
  ),
  Institution(
    name: '마음플러스 아동가족상담센터',
    phoneNumber: '0507-1371-2165',
    image


 abstract suspend fun startInCoroutine()

    override fun pause() {
        TaskLog.d(name, "[pause]")
        notifyPause()
    }

    open fun isPausing(): Boolean {
        return false
    }

    private fun setRunning(running: Boolean) {
        this._isRunning.set(running)
    }

    override fun resume() {
        TaskLog.d(name, "[resume]")
        notifyResume()
    }

    override fun addListener(taskListener: TaskListener) {
        _listeners.add(taskListener)
    }

    override fun removeListener(taskListener: TaskListener) {
        _listeners.remove(taskListener)
    }

    protected fun notifyStart() {
        listeners.forEach { dispatchOrNot(it) { it.onStart(this) } }
    }

    protected fun notifyPause() {
        listeners.forEach { dispatchOrNot(it) { it.onPause(this) } }
    }

    protected fun notifyResume() {
        listeners.forEach { dispatchOrNot(it) { it.onResume(this) } }
    }

    protected fun notifyStop() {
        listeners.forEach { dispatchOrNot(it) { it.onStop(this) } }
    }

    protected fun notifyCancel() {
        listeners.forEach { dispatchOrNot(it) { it.onCancel(this) } }
    }

    protected fun notifyProgress(data: Any = Any()) {
        listeners.forEach { it.onProgress(this, data) }
    }

    protected fun notifyRepeat() {
        listeners.forEach { it.onRepeat(this) }
    }

    protected fun notifyFinalResult(data: Any = emptyResult) {
        listeners.forEach { dispatchOrNot(it) { it.onFinalResult(this, data) } }
    }

    protected fun notifyError(t: Throwable) {
        listeners.forEach { dispatchOrNot(it) { it.onError(this, t) } }
    }

    private fun dispatchOrNot(listener: TaskListener, block: () -> Unit) {
        block.takeIf { listener.dispatcher == null }?.invoke()
            ?: scope.launch(listener.dispatcher!!) { block() }
    }

    override fun cancel() {
        TaskLog.d(name, "[cancel]")
        notifyCancel()
        scope.cancel()
        _isCanceled.set(true)
    }

    override fun toString(): String {
        return "${name}_${hashCode()}"
    }

    companion object {
        val emptyResult = Any()
    }
}package me.gegenbauer.catspy.concurrency

import kotlinx.coroutines.CoroutineDispatcher
import kotlinx.coroutines.CoroutineExceptionHandler
import kotlinx.coroutines.CoroutineName
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Deferred
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.GlobalScope
import kotlinx.coroutines.SupervisorJob
import kotlinx.coroutines.asCoroutineDispatcher
import kotlinx.coroutines.launch
import kotlinx.coroutines.runBlocking
import kotlinx.coroutines.swing.Swing
import me.gegenbauer.catspy.glog.GLog
import java.util.concurrent.Executors
import kotlin.coroutines.CoroutineContext

private const val TAG = "ScopeDomain"
private const val DISPATCHER_NAME_TRACK = "track"
private const val DISPATCHER_NAME_SINGLE_UN_BUSY = "singleUnBusy"
private const val DISPATCHER_NAME_APP_START = "app_launch"
private const val DISPATCHER_NAME_SERIAL = "serial"
private const val APP_LAUNCH_CORE_POOL_SIZE = 4

/**
 * replace [GlobalScope] as global scope. Use [Dispatchers.CPU] by default
 */
object AppScope : CoroutineScope {
    private const val TAG = "AppScope"
    override val coroutineContext: CoroutineContext
        = CoroutineName(TAG)


l func_803BD8FC
func_803BD8FC:
/* 803BD8FC 003B955C  94 21 FF 80 */	stwu r1, -0x80(r1)
/* 803BD900 003B9560  7C 08 02 A6 */	mflr r0
/* 803BD904 003B9564  90 01 00 84 */	stw r0, 0x84(r1)
/* 803BD908 003B9568  39 61 00 80 */	addi r11, r1, 0x80
/* 803BD90C 003B956C  4B E0 97 F9 */	bl _savegpr_18
/* 803BD910 003B9570  1F 45 00 C0 */	mulli r26, r5, 0xc0
/* 803BD914 003B9574  7C 97 23 78 */	mr r23, r4
/* 803BD918 003B9578  7C B8 2B 78 */	mr r24, r5
/* 803BD91C 003B957C  7C 76 1B 78 */	mr r22, r3
/* 803BD920 003B9580  7F A4 D2 14 */	add r29, r4, r26
/* 803BD924 003B9584  82 5D 2D C8 */	lwz r18, 0x2dc8(r29)
/* 803BD928 003B9588  82 7D 2D CC */	lwz r19, 0x2dcc(r29)
/* 803BD92C 003B958C  82 9D 2D D0 */	lwz r20, 0x2dd0(r29)
/* 803BD930 003B9590  83 FD 2D D4 */	lwz r31, 0x2dd4(r29)
/* 803BD934 003B9594  83 DD 2D D8 */	lwz r30, 0x2dd8(r29)
/* 803BD938 003B9598  83 9D 2D DC */	lwz r28, 0x2ddc(r29)
/* 803BD93C 003B959C  83 7D 2D E0 */	lwz r27, 0x2de0(r29)
/* 803BD940 003B95A0  83 3D 2D E4 */	lwz r25, 0x2de4(r29)
/* 803BD944 003B95A4  A2 BD 2D E8 */	lhz r21, 0x2de8(r29)
/* 803BD948 003B95A8  A1 9D 2D EA */	lhz r12, 0x2dea(r29)
/* 803BD94C 003B95AC  A1 7D 2D EC */	lhz r11, 0x2dec(r29)
/* 803BD950 003B95B0  A1 5D 2D EE */	lhz r10, 0x2dee(r29)
/* 803BD954 003B95B4  A1 3D 2D F0 */	lhz r9, 0x2df0(r29)
/* 803BD958 003B95B8  A1 1D 2D F2 */	lhz r8, 0x2df2(r29)
/* 803BD95C 003B95BC  A0 FD 2D F4 */	lhz r7, 0x2df4(r29)
/* 803BD960 003B95C0  A0 DD 2D F6 */	lhz r6, 0x2df6(r29)
/* 803BD964 003B95C4  A0 BD 2D F8 */	lhz r5, 0x2df8(r29)
/* 803BD968 003B95C8  A0 9D 2D FA */	lhz r4, 0x2dfa(r29)
/* 803BD96C 003B95CC  80 1D 2D FC */	lwz r0, 0x2dfc(r29)
/* 803BD970 003B95D0  92 41 00 08 */	stw r18, 8(r1)
/* 803BD9


/*	$NetBSD: icu.s,v 1.50.8.1 1997/11/18 00:55:49 mellon Exp $	*/

/*-
 * Copyright (c) 1993, 1994, 1995, 1997 Charles M. Hannum.  All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in the
 *    documentation and/or other materials provided with the distribution.
 * 3. All advertising materials mentioning features or use of this software
 *    must display the following acknowledgement:
 *	This product includes software developed by Charles M. Hannum.
 * 4. The name of the author may not be used to endorse or promote products
 *    derived from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */

#include <net/netisr.h>

	.data
	.globl	_imen,_cpl,_ipending,_astpending,_netisr
_imen:
	.long	0xffff		# interrupt mask enable (all off)

	.text

#if defined(PROF) || defined(GPROF)
	.globl	_splhigh, _splx

	ALIGN_TEXT
_splhigh:
	movl	$-1,%eax
	xchgl	%eax,_cpl
	ret

	ALIGN_TEXT
_splx:
	movl	4(%esp),%eax
	movl	%eax,_cpl
	testl	%eax,%eax
	jnz	_Xspllower
	ret
#endif /* PROF || GPROF */

/*
 * Process pending interrupts.
 *
 * Important registers


@nodejs

Copyright Joyent, Inc, Node.js is a trademark of Joyent, Inc. View license.

<!DOCTYPE html>

  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  <title>changelog</title>
  <meta name="viewport" content="width=device-width, initial-scale=1.0">


t_shape(
        2, image_height, image_width, depth_multiplier, pad_to_multiple,
        expected_feature_map_shape)

  def test_extract_features_raises_error_with_invalid_image_size(self):
    image_height = 32
    image_width = 32
    depth_multiplier = 1.0
    pad_to_multiple = 1
    self.check_extract_features_raises_error_with_invalid_image_size(
        image_height, image_width, depth_multiplier, pad_to_multiple)

  def test_preprocess_returns_correct_value_range(self):
    image_height = 128
    image_width = 128
    depth_multiplier = 1
    pad_to_multiple = 1
    test_image = np.random.rand(4, image_height, image_width, 3)
    feature_extractor = self._create_feature_extractor(depth_multiplier,
                                                       pad_to_multiple)
    preprocessed_image = feature_extractor.preprocess(test_image)
    self.assertTrue(np.all(np.less_equal(np.abs(preprocessed_image), 1.0)))

  def test_variables_only_created_in_scope(self):
    depth_multiplier = 1
    pad_to_multiple = 1
    scope_name = 'MobilenetV2'
    self.check_feature_extractor_variables_under_scope(
        depth_multiplier, pad_to_multiple, scope_name)

  def test_has_fused_batchnorm(self):
    image_height = 40
    image_width = 40
    depth_multiplier = 1
    pad_to_multiple = 1
    image_placeholder = tf.placeholder(tf.float32,
                                       [1, image_height, image_width, 3])
    feature_extractor = self._create_feature_extractor(depth_multiplier,
                                                       pad_to_multiple)
    preprocessed_image = feature_extractor.preprocess(image_placeholder)
    _ = feature_extractor.extract_features(preprocessed_image)
    self.assertTrue(any(op.type == 'FusedBatchNorm'
                        for op in tf.get_default_graph().get_operations()))

if __name__ == '__main__':
  tf.test.main()


StreamProvider<TouchEvent>('touchmove');

  /**
   * Static factory designed to expose `touchstart` events to event
   * handlers that are not necessarily instances of [Element].
   *
   * See [EventStreamProvider] for usage information.
   */
  @DomName('Element.touchstartEvent')
  @DocsEditable()
  // http://www.w3.org/TR/touch-events/, http://www.chromestatus.com/features
  @Experimental()
  static const EventStreamProvider<TouchEvent> touchStartEvent = const EventStreamProvider<TouchEvent>('touchstart');

  /**
   * Static factory designed to expose `fullscreenchange` events to event
   * handlers that are not necessarily instances of [Element].
   *
   * See [EventStreamProvider] for usage information.
   */
  @DomName('Element.webkitfullscreenchangeEvent')
  @DocsEditable()
  @SupportedBrowser(SupportedBrowser.CHROME)
  @SupportedBrowser(SupportedBrowser.SAFARI)
  @Experimental()
  // https://dvcs.w3.org/hg/fullscreen/raw-file/tip/Overview.html
  static const EventStreamProvider<Event> fullscreenChangeEvent = const EventStreamProvider<Event>('webkitfullscreenchange');

  /**
   * Static factory designed to expose `fullscreenerror` events to event
   * handlers that are not necessarily instances of [Element].
   *
   * See [EventStreamProvider] for usage information.
   */
  @DomName('Element.webkitfullscreenerrorEvent')
  @DocsEditable()
  @SupportedBrowser(SupportedBrowser.CHROME)
  @SupportedBrowser(SupportedBrowser.SAFARI)
  @Experimental()
  // https://dvcs.w3.org/hg/fullscreen/raw-file/tip/Overview.html
  static const EventStreamProvider<Event> fullscreenErrorEvent = const EventStreamProvider<Event>('webkitfullscreenerror');

  @DomName('Element.contentEditable')
  @DocsEditable()
  String contentEditable;

  @DomName('Element.dir')
  @DocsEditable()
  String dir;

  /**
   * Indicates whether the element can be dragged and dropped.
   *
   * ## Other resources
   *
   * * [Drag and drop sample]
   * (https://github.com/dart-lang/dart-samples/tree/master/web/html5/dnd/basics)
   * based on [the tutorial](http://www.html5rocks.com/en/tutorials/dnd/basics/)
   * from HTML5Rocks.
   * * [Drag and drop specification]
   * (http://www.whatwg.org/specs/web-apps/current-work/multipage/dnd.html#dnd)
   * from WHATWG.
   */
  @DomName('Element.draggable')
  @DocsEditable()
  bool draggable;

  /**
   * Indicates whether the element is not relevant to the page's current state.
   *
   * ## Other resources
   *
   * * [Hidden attribute specification]
   * (http://www.whatwg.org/specs/web-apps/current-work/multipage/editing.html#the-hidden-attribute)
   * from WHATWG.
   */
  @DomName('Element.hidden')
  @DocsEditable()
  bool hidden;

  @JSName('innerHTML')
  @DomName('Element.innerHTML')
  @DocsEditable()
  String _innerHtml;

  /**
   * The current state of IME composition.
   *
   * ## Other resources
   *
   * * [Input method editor specification]
   * (http://www.w3.org/TR/ime-api/) from W3C.
   */
  @DomName('Element.inputMethodContext')
  @DocsEditable()
  @Experimental() // untriaged
  final InputMethodContext inputMeth


ains the unique id of the request.
		/// </summary>
		/// <remarks>This will only be present when tracing is enabled.</remarks>
		public const string RequestId = "RelayServer-RequestId";

		/// <summary>
		/// Contains the machine name of the server handling the request.
		/// </summary>
		/// <remarks>This will only be present when tracing is enabled.</remarks>
		public const string ServerMachineName = "RelayServer-Server-MachineName";

		/// <summary>
		/// Contains the version of the server handling the request.
		/// </summary>
		/// <remarks>This will only be present when tracing is enabled.</remarks>
		public const string ServerVersion = "RelayServer-Server-Version";

		/// <summary>
		/// Contains the start timestamp of the target handling the request.
		/// </summary>
		/// <remarks>This will only be present when tracing is enabled.</remarks>
		public const string TargetStart = "RelayServer-TargetStart";

		/// <summary>
		/// Contains the duration of the target handling the request.
		/// </summary>
		/// <remarks>This will only be present when tracing is enabled.</remarks>
		public const string TargetDuration = "RelayServer-TargetDuration";
	}
}


 " + operation);
			if (Float.isNaN(r[i])) {
				Assert.assertTrue(Float.isNaN(x[i] + y[i]), operation);
			} else {
				Assert.assertEquals(x[i] + y[i], r[i], 0, operation);
			}
		}
	}

}
/*
 * Copyright IBM Corp. and others 2001
 *
 * This program and the accompanying materials are made available under
 * the terms of the Eclipse Public License 2.0 which accompanies this
 * distribution and is available at https://www.eclipse.org/legal/epl-2.0/
 * or the Apache License, Version 2.0 which accompanies this distribution and
 * is available at https://www.apache.org/licenses/LICENSE-2.0.
 *
 * This Source Code may also be made available under the following
 * Secondary Licenses when the conditions for such availability set
 * forth in the Eclipse Public License, v. 2.0 are satisfied: GNU
 * General Public License, version 2 with the GNU Classpath
 * Exception [1] and GNU General Public License, version 2 with the
 * OpenJDK Assembly Exception [2].
 *
 * [1] https://www.gnu.org/software/classpath/license.html
 * [2] https://openjdk.org/legal/assembly-exception.html
 *
 * SPDX-License-Identifier: EPL-2.0 OR Apache-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0 OR GPL-2.0-only WITH OpenJDK-assembly-exception-1.0
 */
package org.openj9.test.floatsanity.arithmetic;

import org.testng.Assert;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
import org.testng.log4testng.Logger;

@Test(groups = { "level.sanity" })
public class CheckDenormalFloatDivBehaviour {

	public static Logger logger = Logger.getLogger(CheckDenormalFloatDivBehaviour.class);

	@BeforeClass
	public void groupName() {
		logger.debug("Check denormal float div behaviour");
	}

	public void denormal_float_div() {
		float x[] = new float[3];
		float y[] = new float[3];
		float r[] = new float[3];

		x[0] = Float.intBitsToFloat(0x7ffffe);
		y[0] = Float.intBitsToFloat(0x3f7ffffe);
		r[0] = Float.intBitsToFloat(0x7fffff);

		x[1] = Float.intBitsToFloat(0x7ffff7);
		y[1] = Float.intBitsToFloat(0x3f7ffffe);
		r[1] = Float.intBitsToFloat(0x7ffff8);

		x[2] = Float.intBitsToFloat(0x007fffff);
		y[2] = Float.intBitsToFloat(0x7fc00000);
		r[2] = Float.intBitsToFloat(0x7fc00000);

		for (int i = 0; i < x.length; i++) {
			String operation = x[i] + " / " + y[i] + " == " + r[i];
			logger.debug("testing operation: " + operation);
			if (Float.isNaN(r[i])) {
				Assert.assertTrue(Float.isNaN(x[i] / y[i]), operation);
			} else {
				Assert.assertEquals(x[i] / y[i], r[i], 0, operation);
			}
		}
	}

}
/*
 * Copyright IBM Corp. and others 2001
 *
 * This program and the accompanying materials are made available under
 * the terms of the E


.75543000803479],[27.773922550479163,45.780399500902206],[27.770932416045703,45.801271080879424],[27.770400064959553,45.8165326760039],[27.81742276328984,45.825650225006896],[27.81601305619974,45.84998217015552],[27.86393995275946,45.84808187263738]]]},"properties":{"countyId":"Băleni", "scoring":"1","procente":"
Populatie: 2377
 Total consilieri: 11
 Procent USRPLUS: 8.12%
 Necesar consilieri USRPLUS: 0.89
 Necesar rotunjit: 1" }},
       {"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[27.8814498237282,45.7646075695769],[27.871643063045767,45.76238770786938],[27.840443213394977,45.76113966001095],[27.839493544659568,45.74436984701389],[27.833276830554595,45.744334479277946],[27.830757842881976,45.71687118419204],[27.825859413996614,45.71202501500646],[27.81094584031753,45.71531694211224],[27.78173871099833,45.710236967325436],[27.783500507762074,45.721206888183325],[27.784101167702698,45.731148909285835],[27.79433338981183,45.730501457716606],[27.79258820493555,45.74546459752795],[27.80428567017414,45.745079784738905],[27.804600877832883,45.75487764142544],[27.830555189407093,45.75484059113791],[27.83082361263208,45.76700702912041],[27.877276410884647,45.771330122170475],[27.8814498237282,45.7646075695769]]]},"properties":{"countyId":"Suhurlui", "scoring":"0","procente":"
Populatie: 1427
 Total consilieri: 9
 Procent USRPLUS: 6.08%
 Necesar consilieri USRPLUS: 0.55
 Necesar rotunjit: 0" }},
       {"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[27.06171179132988,46.82627776327768],[27.039855830077453,46.80852411507416],[27.02038355993803,46.8087816880135],[26.99694584940587,46.79259433272449],[27.000844833684745,46.776298567578344],[27.024908067976817,46.770511815103106],[27.0289003128565,46.772094469028275],[27.026647925437917,46.76969526774403],[27.00907754715629,46.769067773492054],[26.97892732440518,46.76272240851895],[26.965023205774457,46.754194871166845],[26.949799797483873,46.75710963588844],[26.939260399372984,46.75273653432534],[26.946493123147846,46.758305098011604],[26.94610150245584,46.77301057403828],[26.934519808053743,46.785350900515155],[26.92


/** Proofs GPU - Space and Time's cryptographic proof algorithms on the CPU and GPU.
 *
 * Copyright 2023-present Space and Time Labs, Inc.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
#pragma once

#include <concepts>

#include "sxt/base/container/span.h"
#include "sxt/base/container/span_utility.h"
#include "sxt/base/device/memory_utility.h"
#include "sxt/base/device/state.h"
#include "sxt/base/device/stream.h"
#include "sxt/base/type/value_type.h"
#include "sxt/execution/device/event_future.h"
#include "sxt/execution/device/synchronization.h"

namespace sxt::xendv {
//--------------------------------------------------------------------------------------------------
// winked_device_copy
//--------------------------------------------------------------------------------------------------
template <class Cont, class T = bast::value_type_t<Cont>>
  requires std::convertible_to<Cont, basct::cspan<T>>
event_future<basct::span<T>> winked_device_copy(std::pmr::polymorphic_allocator<> alloc,
                                                const Cont& src) noexcept {
  if (src.empty()) {
    return event_future<basct::span<T>>{basct::span<T>{}};
  }
  auto res = basct::winked_span<T>(alloc, src.size());
  basdv::stream stream;
  basdv::async_copy_to_device(res, src, stream);
  basdv::event event;
  basdv::record_event(event, stream);
  computation_handle handle;
  handle.add_stream(std::move(stream));
  auto active_device = basdv::get_device();
  return event_future<basct::span<T>>{std::move(res), active_device, std::move(event),
                                      std::move(handle)};
}
} // namespace sxt::xendv


: #34b;
}

.CodeRay .doc-string {
    font-weight: bold;
    color: #D42;
}

.CodeRay .escape {
    font-weight: bold;
    color: #666;
}

.CodeRay .entity {
    font-weight: bold;
    color: #800;
}

.CodeRay .error {
    color: #F00;
    background-color: #faa;
}

.CodeRay .exception {
    font-weight: bold;
    color: #C00;
}

.CodeRay .filename {
    color: #099;
}

.CodeRay .function {
    font-weight: bold;
    color: #900;
}

.CodeRay .global-variable {
    font-weight: bold;
    color: teal;
}

.CodeRay .hex {
    font-weight: bold;
    color: #058;
}

.CodeRay .integer {
    color: #099;
}

.CodeRay .include {
    font-weight: bold;
    color: #B44;
}

.CodeRay .inline {
    color: #000;
}

.CodeRay .inline .inline {
    background: #ccc;
}

.CodeRay .inline .inline .inline {
    background: #bbb;
}

.CodeRay .inline .inline-delimiter {
    color: #D14;
}

.CodeRay .inline-delimiter {
    color: #D14;
}

.CodeRay .important {
    color: #f00;
}

.CodeRay .interpreted {
    font-weight: bold;
    color: #B2B;
}

.CodeRay .instance-variable {
    color: #008080;
}

.CodeRay .label {
    font-weight: bold;
    color: #970;
}

.CodeRay .local-variable {
    color: #963;
}

.CodeRay .octal {
    font-weight: bold;
    color: #40E;
}

.CodeRay .predefined-constant {
    font-weight: bold;
}

.CodeRay .predefined {
    font-weight: bold;
    color: #369;
}

.CodeRay .preprocessor {
    color: #579;
}

.CodeRay .pseudo-class {
    font-weight: bold;
    color: #00C;
}

.CodeRay .predefined-type {
    font-weight: bold;
    color: #074;
}

.CodeRay .reserved,.keyword {
    font-weight: bold;
    color: #000;
}

.CodeRay .key {
    color: #808;
}

.CodeRay .key .delimiter {
    color: #606;
}

.CodeRay .key .char {
    color: #80f;
}

.CodeRay .value {
    color: #088;
}

.CodeRay .regexp {
    background-color: #fff0ff;
}

.CodeRay .regexp .content {
    color: #808;
}

.CodeRay .regexp .delimiter {
    color: #404;
}

.CodeRay .regexp .modifier {
    color: #c2c;
}

.CodeRay .regexp .function {
    font-weight: bold;
    color: #404;
}

.CodeRay .string {
    color: #D20;
}

.CodeRay .string .string .string {
    background-color: #ffd0d0;
}

.CodeRay .string .content {
    color: #D14;
}

.CodeRay .string .char {
    color: #D14;
}

.CodeRay .string .delimiter {
    color: #D14;
}

.CodeRay .shell {
    color: #d14;
}

.CodeRay .shell .delimiter {
    color: #d14;
}

.CodeRa


 = {
            ACL: 'public-read',
            Key: key,
            Body: body,
            Bucket: this.bucketName,
            ContentType: contentType
        }

        await new Promise((resolve, reject) => {
            this._s3.putObject(params, (err, data) => {
                err ? reject(err) : resolve()
            })
        })
    }

    async _getObject({key, type} : {key : string, type? : 'csv'}) {
        const params = {
            Bucket: this.bucketName,
            Key: key,
        }

        let stream = (await this._s3.getObject(params)).createReadStream()

        let events = []

        await new Promise((resolve, reject) => {
            require("fast-csv").fromStream(stream)
            .on('data', (e) => {
                events.push(e)
            })
            .on('end', () => {
                resolve(events)
            })
        })

        return events
    }
}import { HttpClient } from '@angular/common/http';
import { Component, OnInit } from '@angular/core';

@Component({
  selector: 'app-mining',
  templateUrl: './mining.component.html',
  styleUrls: ['./mining.component.css']
})
export class MiningComponent implements OnInit {

  constructor(
    // Inject your HTTP Client Service here
    //Class object name:
    private httpClient: HttpClient,

  )
 { }

  ngOnInit(): void {
       // This is intentional
    }
      mining: string = '';

       // related to mining component exercise
  // Method with response data subscription and assign hello variable with response data
  // Get Method without Service
  public getBasicMiningSubscribe(): any {
    this.httpClient.get(`http://localhost:8091/covid/mining/my`, { responseType: 'text' })
      .subscribe((data: any) =>
                  {
                    // assign HTTP response with local variable
                    this.mining = data;
                  }
                );
  }

}
interface Thing {
    uuid: string;
    edges: number;
    corners: number;
}

type PartialThing = Partial<Thing> & Pick<Thing, 'uuid'>

let p: PartialThing = {
    uuid: ""
}import { TSourceMatch } from "./components/SourceMatch";
import { useEffect } from "react";
import { NodeType } from "../protocol";

export interface TNodeValues {
  [language: string]: string;
}

export type TNode = {
  id: string;
  name: string;
  type: keyof typeof NodeType;
  exactSourceMatches: TSourceMatch[];
  partialSourceMatches: TSourceMatch[];
  values: TNodeValues;
  children: TNode[];
};

export const useEscapeKey = (onEscape?: () => void) => {
  useEffect(() => {
    if (!onEscape) return;
    const handleEsc = (event: KeyboardEvent) => {
      if (event.keyCode === 27) onEscape();
    };
    window.addEventListener("keydown", handleEsc);

    return () => {
      window.removeEventListener("keydown", handleEsc);
    };
  }, [onEscape]);
};

export const getServerHost = () => {
  const url = new URL(window.location.href);
  const serverPort = url.searchParams.get("serverPort") || url.port;
  return `${url.hostname}:${serverPort}`;
};
export interface FileHandle<T> {
  name: string
  uri: string
  buffer: T
}
/*
 * @author Charles Xie
 */

export class ExpressionPair {

  position: number;
  velocity: number;

  constructor() {
  }

  public toString(): string {
    return "(" + this.position + ', ' + this.velocity +


noch explodierender Flieger", nil, {"[PLACEHOLDER] Test cold-weather bomber on giant."}},
[12835] = {"Voll ausgewachsen", nil, {"[PLACEHOLDER] Test Grown Up Jormungar on Giant"}},
[12836] = {"Zeichen der Dankbarkeit", nil, {"Ricket am K3 möchte, dass Ihr Knarzfell tötet."}},
[12837] = {"Tore hat die Waren", nil, {"[PLACEHOLDER] Meldet Euch bei Tore"}},
[12838] = {"Informationsbeschaffung", nil, {"Aurochs Grimmbann auf der Todesanhöhe möchte, dass Ihr 5 Geheimdokumente des Ansturms beschafft."}},
[12839] = {"Der große Plan (des Admirals)", nil, {"Bringt dem Lordkommandanten Arete auf der Todesanhöhe die Nachricht vom Großadmiral."}},
[12840] = {"Streng vertraulich", nil, {"Lordkommandant Arete auf der Todesanhöhe möchte, dass Ihr Informationen aus den Kapitänen Welsington und Hartford herausprügelt."}},
[12841] = {"Der Handel der Alten", nil, {"Lok'lira die Greisin in der verlassenen Mine möchte, dass Ihr Yrkvinns Runen von Aufseherin Syra holt."}},
[12842] = {"Runen schmieden: Vorbereitung auf den Kampf", nil, {"Instrukteur Razuvious in der Schwarzen Festung befiehlt Euch, mithilfe Eurer Fertigkeit 'Runen schmieden' eine beliebige Rune in Eure runenbeschriebene Seelenklinge zu prägen.\n\nIhr könnt die Prägung auf Eurer Waffe jederzeit durch eine andere ersetzen, solange Ihr Euch in der Nähe einer Runenschmiede befindet."}},
[12843] = {"Sie haben unsere Männer!", nil, {"Gretchen Zischelfunken möchte, dass Ihr nach Sifreldar geht und 5 Goblingefangene befreit."}},
[12844] = {"Ausrüstungsbergung", nil, {"Gretchen Zischelfunken möchte, dass Ihr 8 Teile der K3-Ausrüstung aus Sifreldar holt, das nördlich des K3 liegt."}},
[12845] = {"Dalaran Teleport Crystal Flag", nil, nil},
[12846] = {"Lasst keinen Goblin zurück", nil, {"Findet den Eingang zu den verlassenen Minen im Norden von Sifreldar und sucht nach Hinweisen auf Zeev Zischelfunkens Aufenthaltsort."}},
[12847] = {"Zweite Chancen", nil, {"Tötet Erzbischof Landgren und beschwört anschließend Aretes Tor in Gegenwart seiner Leiche. Sprecht mit Lordkommandant Arete im Hafen des Ansturms, sobald er sein Verhör mit dem Geist des Erzbischofs beendet hat."}},
[12848] = {"Der endlose Hunger", nil, {"Instrukteur Razuvious in der Schwarzen Festung befiehlt Euch, einen unwürdigen Initianden zu befreien und ihn kaltblütig umzubringen!\n\nEntweder ist es Euer oder ihr Leben!"}},
[12849] = {"Die Macht des Blutes, des Frosts und der unheiligen Kraft", nil, nil},
[12850] = {"Meldet Euch bei Geißelkommandant Thalanor", nil, {"Meldet Euch beim Geißelkommandanten Thalanor auf dem Balkon auf der ersten Ebene der Schwarzen Festung."}},
[12851] = {"Eiskalte Jagd", nil, {"Brijana in Brunnhildar möchte, dass Ihr Eiszahn benutzt und 7 Frostwor


.join(website, webpage))

						else:
							LOGGER.warning('taintflow file does not exist: %s'%taintflow_file_path_name)

		# convert set to list to be JSON serializable
		for key in output_webpages:
			output_webpages[key] = list(output_webpages[key])
		return output_webpages

	# potentially exploitable script src patterns

	interesting_combinations = [
		{
			"source_name": "loc_href",
			"sink_name": "script_src",
			"patterns": [
				"1_1_1_1_1_1_0_0_0_0_0_0",
				"0_0_1_1_1_1_1_1_0_0_0_0",
				"0_0_1_1_1_1_0_0_0_0_0_0",
				"1_1_1_1_1_1_1_1_0_0_0_0"
			]
		},
		{
			"source_name": "loc_href",
			"sink_name": "loc_assign",
			"patterns": [
				"0_0_0_0_0_0_1_1_0_0_0_0",
				"1_1_1_1_1_1_1_1_1_1_0_0",
				"1_1_1_1_1_1_1_1_0_0_0_0",
				"0_0_1_1_1_1_1_1_0_0_0_0",
				"0_0_1_1_1_1_0_0_0_0_0_0"
			]
		}

	]

	for combination in interesting_combinations:

		source_name = combination["source_name"]
		sink_name = combination["sink_name"]
		patterns = combination["patterns"]

		outputs = {}
		slug = ''
		if source_name in SOURCE_TYPES and sink_name in SINK_TYPES:
			slug = "m_%s_%s_"%(source_name, sink_name)
			print('[Single] processing {0} - {1}'.format(source_name, sink_name))
			outputs = _process_source_sink(source_name, sink_name, patterns)
		else:
			print('[warning] source={0} or sink={1} is a invalid string, check your inputs!'.format(source_name, sink_name))

		with open(os.path.join(OUTPUT_TEMPT_DIR, slug+ "matched_patterns.json"), 'w+') as fd:
			json.dump(outputs, fd, ensure_ascii=False, indent=4)

if __name__ == "__main__":
	print('started script')
	main()


anslate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;

  &:before,
  &:after {
    content: '';
    display: table;
  }

  &:after {
    clear: both;
  }

  .slick-loading & {
    visibility: hidden;
  }
}
.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  [dir='rtl'] & {
    float: right;
  }
  img {
    display: block;
  }
  &.slick-loading img {
    display: none;
  }

  display: none;

  &.dragging img {
    pointer-events: none;
  }

  .slick-initialized & {
    display: block;
  }

  .slick-loading & {
    visibility: hidden;
  }

  .slick-vertical & {
    display: block;
    height: auto;
    border: 1px solid transparent;
  }
}
.slick-arrow.slick-hidden {
  display: none;
}

@charset "UTF-8";

// Default Variables

// Slick icon entity codes outputs the following
// "\2190" outputs ascii character "←"
// "\2192" outputs ascii character "→"
// "\2022" outputs ascii character "•"

$slick-font-path: './fonts/' !default;
$slick-font-family: 'slick' !default;
$slick-loader-path: './' !default;
$slick-arrow-color: white !default;
$slick-dot-color: black !default;
$slick-dot-color-active: $slick-dot-color !default;
$slick-prev-character: '\2190' !default;
$slick-next-character: '\2192' !default;
$slick-dot-character: '\2022' !default;
$slick-dot-size: 6px !default;
$slick-opacity-default: 0.75 !default;
$slick-opacity-on-hover: 1 !default;
$slick-opacity-not-active: 0.25 !default;

@function slick-image-url($url) {
  @if function-exists(image-url) {
    @return image-url($url);
  } @else {
    @return url($slick-loader-path + $url);
  }
}

@function slick-font-url($url) {
  @if function-exists(font-url) {
    @return font-url($url);
  } @else {
    @return url($slick-font-path + $url);
  }
}

/* Slider */

.slick-list {
  .slick-loading & {
    background: #fff slick-image-url('ajax-loader.gif') center center no-repeat;
  }
}

/* Icons */
@if $slick-font-family == 'slick' {
  @font-face {
    font-family: 'slick';
    src: slick-font-url('slick.eot');
    src:
      slick-font-url('slick.eot?#iefix') format('embedded-opentype'),
      slick-font-url('slick.woff') format('woff'),
      slick-font-url('slick.ttf') format('truetype'),
      slick-font-url('slick.svg#slick') format('svg');
    font-weight: normal;
    font-style: normal;
  }
}

/* Arrows */

.slick-prev,
.


import os
import json
from typing import Tuple, Dict
from pathlib import Path

from dotenv import load_dotenv

class Config:
  @staticmethod
  def load_env() -> None:
    dotenv_path = Path(__file__).parent / ".env"
    if not dotenv_path.exists():
      print(f"❌ Файл .env не найден по пути: {dotenv_path}")
      exit(1)
    load_dotenv(dotenv_path)
    print(f"✅ Переменные окружения загружены из: {dotenv_path}")

  @staticmethod
  def get_required_env_vars() -> Tuple[str, str, str, set]:
    bot_token = os.getenv("BOT_TOKEN")
    sber_token = os.getenv("SBER_TOKEN")
    mistral_token = os.getenv("MISTRAL_TOKEN")
    admin_ids = {int(x) for x in os.getenv("ADMIN_IDS", "123456789").split(',') if x.strip()}
    if not bot_token:
      raise ValueError("❌ Необходимо задать BOT_TOKEN в .env")
    return bot_token, sber_token, mistral_token, admin_ids

class PresetManager:
  DEFAULT_PRESETS = {
    "gigachat_prompt": "Ты эмпатичный психолог-помощник. Ты поддерживаешь подростков и взрослых в трудных жизненных ситуациях. Отвечай кратко, по делу, с сочувствием. Предлагай конкретные шаги. Не давай медицинских советов, направляй к специалистам при необходимости.",
    "mistral_summarize_prompt": "Ты профессиональный редактор-психолог. Улучши ответ, сделай его более структурированным, полезным и поддерживающим. Убери лишнее, добавь ясности.",
    "tip_prompt": "Создай короткий, поддерживающий психологический совет для человека в трудной ситуации. Совет должен быть практичным и вдохновляющим."
  }

  @classmethod
  def load_presets(cls) -> Dict[str, str]:
    try:
      with open("preset_prompts.json", 'r', encoding='utf-8') as f:
        return json.load(f)
    except FileNotFoundError:
      print("❌ Файл preset_prompts.json не найден")
      return cls.DEFAULT_PRESETS
    except Exception as e:
      print(f"Ошибка загрузки пресетов: {e}")
      return cls.DEFAULT_PRESETS

WELCOME_TEXT = (
  "👋 Привет! Я — *Цифровой помощник* Центра молодежной политики Томской области.\n\n"
  "🔹 Если ты в *острой или угрожающей ситуации* — сразу нажми **«🚨 Тревожная кнопка»**.\n"
  "Ты получишь экстренные контакты и сможешь анонимно передать запрос — с приоритетной обработкой.\n\n"
  "🔹 Если всё в порядке — выбери, кто ты:\n"
  "• *Я подросток* — поддержка, советы, понимание\n"
  "• *Я взрослый* — ресурсы и помощь\n\n"
  "После выбора откроются разделы помощи, мероприятий и связи со специалистами.\n\n"
  "Выбери, что подходит тебе сейчас:"
)

INFO_TEXT = (
    "🧠 *Чем я могу помочь?*\n\n"
    "Выбирай, что тебе нужно — я рядом:\n\n"
    "🆘 *Тревожная кнопка*\n"
    "Если ты в опасности — получи экстренные контакты мгновенно.\n\n"
    "🧭 *Мне нужна помощь*\n"
    "Пошаговая поддержка: что делать, если тревожно, страшно или тяжело.\n\n"
    "🤖 Поддержка (с использованием ИИ)\n"
    "Получи совет, прежде чем обращаться к специалисту\n\n"
    "❓ *Задать вопрос*\n"
    "Анонимно напиши специалисту — я передам и помогу получить ответ.\n\n"
    "💡 *Получить совет*\n"
    "Тёплый совет дня — чтобы было чуть легче.\n\n"
    "🔔 *Подписаться на поддержку*\n"
    "Получай напоминания и советы каждый день — просто оставайся на связи.\n\n"
    "🔄 *Изменить роль*\n"
    "Смени роль (подросток / взрослый), чтобы я лучше понимал, как помочь.\n\n"
    "📋 *Доступные команды:*\n"
    "/menu – главное меню\n"
    "/sos – тревожная кнопка\n"
    "/events – мероприятия\n"
    "/contacts – контакты\n"
    "/tip – совет дня\n"
    "/help – справка\n\n"
    "Готов начать? Выбери нужное в меню ниже:"
)


    "shareExpiration" to { value ->
                        OtherSettings.shareExpiration = value.asString.toBean()
                    },
                    "contentMargins" to { value -> ReaderSettings.contentMargins.import(value.asString) },
                    "paginationMargins" to { value -> ReaderSettings.paginationMargins.import(value.asString) },
                    "bookNameMargins" to { value -> ReaderSettings.bookNameMargins.import(value.asString) },
                    "chapterNameMargins" to { value ->
                        ReaderSettings.chapterNameMargins.import(
                            value.asString
                        )
                    },
                        "timeMargins" to { value -> ReaderSettings.timeMargins.import(value.asString) },
                        "batteryMargins" to { value -> ReaderSettings.batteryMargins.import(value.asString) }
                )
                var count = 0
                file.readText().jsonPath.get<Map<String, JsonElement>>().entries.forEach { (key, value) ->
                    try {
                        map[key]?.let {
                            it(value)
                            ++count
                        }
                    } catch (e: Exception) {
                        // 只是一个设置读取失败的话可以继续，
                        error("设置<$key>读取失败，", e)
                    }
                }
                count
            }
            else -> 0
        }
    }

    fun Margins.import(json: String) {
        val map = mapOf<String, (JsonElement) -> Unit>(
                "enabled" to { value -> enabled = value.asBoolean },
                "left" to { value -> left = value.asInt },
                "top" to { value -> top = value.asInt },
                "right" to { value -> right = value.asInt },
                "bottom" to { value -> bottom = value.asInt }
        )
        json.toBean<JsonObject>().entrySet().forEach { (key, value) ->
            map[key]?.invoke(value)
        }
    }
}
package cc.aoeiuv020.irondb

import cc.aoeiuv020.gson.type
import java.lang.reflect.Type

/**
 * Created by AoEiuV020 on 2018.05.27-14:43:23.
 */
interface Database {
    fun sub(table: String): Database
    /**
     * @param value 为空则删除对应文件，
     */
    fun <T> write(key: String, value: T?, type: Type)

    /**
     * @return key不存在则返回null,
     */
    fun <T> read(key: String, type: Type): T?

    /**
     * 封装文件的使用，确保线程安全，
     */
    fun file(key: String): FileWrapper

    fun drop()

    /**
     * @return 返回用于判断指定key是否存在的集合，不可用于读出key,
     */
    fun keysContainer(): Collection<String>

}

/**
 * 通过gson的TypeToken得到T的真实类型，
 * 这里不是必须的，
 */
@Suppress("unused")
inline fun <reified T> Database.write(key: String, value: T) = write(key, value, type<T>())

/**
 * 通过gson的TypeToken得到T的真实类型，
 */
@Suppress("unused")
inline fun <reified T> Database.read(key: String): T? = read(key, type<T>())
package cc.aoeiuv020.irondb.impl

import cc.aoeiuv020.irondb.KeySerializer
import java.io.File

/**
 * 只用于判断元素是否存在集合中，
 * 不可用于读出元素，
 *
 * Created by AoEiuV020 on 2018.05.27-15:14:05.
 */
class KeysContainer(
        base: File,
        private val keySerializer: KeySerializer
) : Collection<String> {
    // 文件名列表，包括目录，也就是Database.sub方法产生的，
    private val nameSet = base.list()?.toSet() ?: emptySet()

    override val size: Int = nameSet.size

    override fun contains(element: String): Boolean =
            nameSet.contains(keySerializer.serialize(element))

    override fun containsAll(elements: Collection<String>): Boolean {
        for (element in elements) {
            if (!contains(element)) {
                return false
            }
        }
        return true
    }

    override fun isEmpty(): Boolean = nameSet.isEmpty()

    // 不打算支持，
    override fun iterator(): Iterator<String> = throw UnsupportedOperationException()


RustUnnamed_67 = 228;

pub const M_APP3: C2RustUnnamed_67 = 227;

pub const M_APP2: C2RustUnnamed_67 = 226;

pub const M_APP1: C2RustUnnamed_67 = 225;

pub const M_DRI: C2RustUnnamed_67 = 221;

pub const M_DQT: C2RustUnnamed_67 = 219;

pub const M_DHT: C2RustUnnamed_67 = 196;

pub const M_DAC: C2RustUnnamed_67 = 204;

pub const M_EOI: C2RustUnnamed_67 = 217;

pub const M_SOS: C2RustUnnamed_67 = 218;

pub const M_SOF15: C2RustUnnamed_67 = 207;

pub const M_SOF14: C2RustUnnamed_67 = 206;

pub const M_SOF13: C2RustUnnamed_67 = 205;

pub const M_SOF11: C2RustUnnamed_67 = 203;

pub const M_JPG: C2RustUnnamed_67 = 200;

pub const M_SOF7: C2RustUnnamed_67 = 199;

pub const M_SOF6: C2RustUnnamed_67 = 198;

pub const M_SOF5: C2RustUnnamed_67 = 197;

pub const M_SOF3: C2RustUnnamed_67 = 195;

pub const M_SOF10: C2RustUnnamed_67 = 202;

pub const M_SOF9: C2RustUnnamed_67 = 201;

pub const M_SOF2: C2RustUnnamed_67 = 194;

pub const M_SOF1: C2RustUnnamed_67 = 193;

pub const M_SOI: C2RustUnnamed_67 = 216;

pub type C2RustUnnamed_67 = libc::c_uint;

pub const M_ERROR: C2RustUnnamed_67 = 256;

pub const M_JPG13: C2RustUnnamed_67 = 253;

pub const M_JPG0: C2RustUnnamed_67 = 240;

pub const M_EXP: C2RustUnnamed_67 = 223;

pub const M_DHP: C2RustUnnamed_67 = 222;
/*
 * Macros for fetching data from the data source module.
 *
 * At all times, cinfo->src->next_input_byte and ->bytes_in_buffer reflect
 * the current restart point; we update them only when we have reached a
 * suitable place to restart if a suspension occurs.
 */
/* Declare and initialize local copies of input pointer/count */
/* Unload the local copies --- do this only at a restart boundary */
/* Reload the local copies --- used only in MAKE_BYTE_AVAIL */
/* Internal macro for INPUT_BYTE and INPUT_2BYTES: make a byte available.
 * Note we do *not* do INPUT_SYNC before calling fill_input_buffer,
 * but we must reload the local copies after a successful fill.
 */
/* Read a byte into variable V.
 * If must suspend, take the specified action (typically "return FALSE").
 */
/* As above, but read two bytes interpreted as an unsigned 16-bit integer.
 * V should be declared unsigned int or perhaps JLONG.
 */
/*
 * Routines to process JPEG markers.
 *
 * Entry condition: JPEG marker itself has been read and its code saved
 *   in cinfo->unread_marker; input restart point is just after the marker.
 *
 * Exit: if return TRUE, have read and processed any parameters, and have
 *   updated the restart point to point after the parameters.
 *   If return FALSE, was forced to suspend before reaching end of
 *   marker parameters; restart point has not been moved.  Same routine
 *   will be called again after application supplies more input data.
 *
 * This approach to suspension assumes that all of a marker's parameters
 * can fit into a single input bufferload.  This should hold for "normal"
 * markers.  Some COM/APPn markers might have large parameter seg