.JAXBElement<?>)obj).getName().getLocalPart().equals("country")){
					country_el.add( (net.ihe.gazelle.hl7v3.datatypes.AdxpCountry) ((jakarta.xml.bind.JAXBElement<?>)obj).getValue() );
				}
			}
		}

	    return country_el;
	}

	public void addCountry(net.ihe.gazelle.hl7v3.datatypes.AdxpCountry obj){
		ObjectFactory of = new ObjectFactory();
		JAXBElement<net.ihe.gazelle.hl7v3.datatypes.AdxpCountry> jobj = of.createADCountry(obj);
		this.getMixed().add(jobj);
	}

	/**
	 * Return state.
	 * @return state
	 */
	public List<net.ihe.gazelle.hl7v3.datatypes.AdxpState> getState() {
		List<net.ihe.gazelle.hl7v3.datatypes.AdxpState> state_el = new ArrayList<>();
			for(java.io.Serializable obj : this.getMixed()){
			if (obj instanceof jakarta.xml.bind.JAXBElement){
				if (((jakarta.xml.bind.JAXBElement<?>)obj).getName().getLocalPart().equals("state")){
					state_el.add( (net.ihe.gazelle.hl7v3.datatypes.AdxpState) ((jakarta.xml.bind.JAXBElement<?>)obj).getValue() );
				}
			}
		}

	    return state_el;
	}

	public void addState(net.ihe.gazelle.hl7v3.datatypes.AdxpState obj){
		ObjectFactory of = new ObjectFactory();
		JAXBElement<net.ihe.gazelle.hl7v3.datatypes.AdxpState> jobj = of.createADState(obj);
		this.getMixed().add(jobj);
	}

	/**
	 * Return county.
	 * @return county
	 */
	public List<net.ihe.gazelle.hl7v3.datatypes.AdxpCounty> getCounty() {
		List<net.ihe.gazelle.hl7v3.datatypes.AdxpCounty> county_el = new ArrayList<>();
			for(java.io.Serializable obj : this.getMixed()){
			if (obj instanceof jakarta.xml.bind.JAXBElement){
				if (((jakarta.xml.bind.JAXBElement<?>)obj).getName().getLocalPart().equals("county")){
					county_el.add( (net.ihe.gazelle.hl7v3.datatypes.AdxpCounty) ((jakarta.xml.bind.JAXBElement<?>)obj).getValue() );
				}
			}
		}

	    return county_el;
	}

	public void addCounty(net.ihe.gazelle.hl7v3.datatypes.AdxpCounty obj){
		ObjectFactory of = new ObjectFactory();
		JAXBElement<net.ihe.gazelle.hl7v3.datatypes.AdxpCounty> jobj = of.createADCounty(obj);
		this.getMixed().add(jobj);
	}

	/**
	 * Return city.
	 * @return city
	 */
	public List<net.ihe.gazelle.hl7v3.datatypes.AdxpCity> getCity() {
		List<net.ihe.gazelle.hl7v3.datatypes.AdxpCity> city_el = new ArrayList<>();
			for(java.io.Serializable obj : this.getMixed()){
			if (obj instanceof jakarta.xml.bind.JAXBElement){
				if (((jakarta.xml.bind.JAXBElement<?>)obj).getName().getLocalPart().equals("city")){
					city_el.add( (net.ihe.gazelle.hl7v3.datatypes.AdxpCity) ((jakarta.xml.bind.JAXBEle


-z in automatically
				int uppercharCode = (int) Character
						.toUpperCase((char) charCode);
				event = new KeyEvent(applet(), 0, 0, KeyEvent.SHIFT_MASK
						+ (altgraph ? KeyEvent.ALT_GRAPH_MASK : 0),
						((Integer) vkKeys.get(keyindex)).intValue(),
						(char) uppercharCode);
				charMap.put(new Integer(uppercharCode), event);
				log("Mapped char " + (char) uppercharCode + " to KeyEvent "
						+ event);
			}
		}
	}

	public void _notified(final double sec, final String chars){
		// decouple from JavaScript; thread join could hang it
		Thread thread = new Thread("_notified"){
			public void run(){
				if(!isSecure(sec))
					return;
				AccessController.doPrivileged(new PrivilegedAction(){
					public Object run(){
						try{
							// wait for release shift/altgraph to resolve
							if(previousThread != null){
								previousThread.join();
							}
						}catch(Exception e){
						}
						keystring += chars;
						if(altgraph && !shift){
							shift = false;
							// Set robot auto delay now that FF/Mac inited all of the keys.
							// Good for DND.
							robot.setAutoDelay(1);
							try{
								log(keystring);
								int index = 0;
								for (int i = 0; (i < vkKeys.size())
										&& (index < keystring.length()); i++){
									char c = keystring.charAt(index++);
									_mapKey(c, i, false, false);
								}
								for (int i = 0; (i < vkKeys.size())
										&& (index < keystring.length()); i++){
									char c = keystring.charAt(index++);
									_mapKey(c, i, true, false);
								}
								for (int i = 0; (i < vkKeys.size())
										&& (index < keystring.length()); i++){
									char c = keystring.charAt(index++);
									_mapKey(c, i, false, true);
								}
								// notify DOH that the applet finished init
								dohrobot.call("_onKeyboard", new Object[]{});
							}catch(Exception e){
								e.printStackTrace();
							}
							return null;
						}else if(!shift){
							shift = true;
						}else{
							shift = false;
							altgraph = true;
						}
						pressNext();
						// }
						return null;
					}
				});
			}
		};
		thread.start();
	}

	private void pressNext(){
		final Thread myPreviousThread = previousThread;
		Thread thread = new Thread("pressNext"){
			public void run(){
				try{
					// wait for release shift/altgraph to resolve
					if(myPreviousThread != null){
						myPreviousThread.join();
					}
				}catch(Exception e){
				}
				// first time, press shift (have to do it here instead of
				// _notified to avoid IllegalThreadStateException on Mac)
				log("starting up, " + shift + " " + altgraph);
				if(shift){
					robot.keyPress(KeyEvent.VK_SHIFT);
					log("Pressing shift");
				}
				try{
					if(altgraph){
						robot.keyPress(KeyEvent.VK_ALT_GRAPH);
						log("Pressing alt graph");
					}
				}catch(Exception e){
					log("Error pressing alt graph");
					e.printStackTrace();
					_notified(key, "");
					return;
				}
				dohrobot.call("_nextKeyGroup", new Object[]{ new Integer(vkKeys.size()) });
				for (int keyindex = 0; keyindex < vkKeys.size(); keyindex++){
					try{
						log("Press "
								+


.5T=[];V.Mn=1b.3b.4c(V.xq,V)},ke:1d(a){if(V.7f!=1c){2r.8m(V.7f);V.7f=1c}if(V.q0!==1c){2r.8m(V.q0);V.q0=1c}},1o:1d(){V.1cD();V.5T=1c;V.5r=1c;1b.1L.iu.1q.1o.1r(V,1z)},1cD:1d(){if(V.5T){1l(1a f=0,b=V.5T.1g;f<b;f++){1a e=V.5T[f];1l(1a c=0,a=e.1g;c<a;c++){1a d=e[c];V.F3(d);d.1o()}}V.5T=[];V.Mv=1c}},2n:1d(a){if(a==1c){a=1h 1b.1L.ca(V.2c,V.1C,V.3B,V.cX())}a=1b.1L.iu.1q.2n.1r(V,[a]);if(V.5r!=1c){a.5r=V.5r.2n()}a.5T=[];a.Mv=1c;a.zp=1c;a.Mw=1c;a.q0=1c;1f a},3P:1d(d,a,e){1b.1L.iu.1q.3P.1r(V,1z);d=d||V.1t.6b();if(d!=1c){1a c=!V.5T.1g||a;1a b=V.GC();if(V.fJ){if(c||(!e&&!b.fI(d))){V.GA(d)}}1i{if(c||!b.fI(d,1m)){V.f3(d)}1i{V.tc()}}}},OU:1d(m){1a q=1c,n=m.2S,l=m.2V,d=V.5T.1g;if(V.1t&&d){1a r=V.1t.3R(),a=V.5r.w,k=V.5r.h,j=V.5T[0][0].2G,e=j.1O,o=j.1N;if(n<e){if(V.1t.3h.aV){1a b=V.1t.gz().6L();1a c=1x.kE((e-n)/b);n+=b*c}}1a h=(n-e)/(r*a);1a f=(o-l)/(r*k);1a g=1x.8O(h);1a i=1x.8O(f);if(i>=0&&i<d){1a p=V.5T[i][g];if(p){q={5U:p,i:1x.8O((h-g)*a),j:1x.8O((f-i)*k)}}}}1f q},Gz:1d(c){if(V.q0!==1c){V.GB()}1a j=V.zp;if(!j){1a d=V.sF();j=d[1];1a g=V.Mw=d[0];if(!j){1f}V.1M.Ny(g,V.1M.7U);V.zp=j;1a e=V.5T[0][0].2G;V.1cG={2S:e.1O,2V:e.1N};V.Xn=V.Mv}1a a=j.1n;1a i=V.Xn/c;a.1P=100*i+"%";a.1S=100*i+"%";1a h=V.fb(V.1c


.    .    .    .    .  .   add	a0, a0, a0
# CHECK-NEXT: [0,34]    .    .    .    .    .    .    .    . DeeE    .    .    .    .    .    .    .    .    .    .    .    .    .  .   beq	a0, a0, .Ltmp0
# CHECK-NEXT: [0,35]    .    .    .    .    .    .    .    . DeeE    .    .    .    .    .    .    .    .    .    .    .    .    .  .   add	a0, a0, a0
# CHECK-NEXT: [0,36]    .    .    .    .    .    .    .    .  DeeE   .    .    .    .    .    .    .    .    .    .    .    .    .  .   bne	a0, a0, .Ltmp1
# CHECK-NEXT: [0,37]    .    .    .    .    .    .    .    .  DeeE   .    .    .    .    .    .    .    .    .    .    .    .    .  .   add	a0, a0, a0
# CHECK-NEXT: [0,38]    .    .    .    .    .    .    .    .   DeeE  .    .    .    .    .    .    .    .    .    .    .    .    .  .   blt	a0, a0, .Ltmp2
# CHECK-NEXT: [0,39]    .    .    .    .    .    .    .    .   DeeE  .    .    .    .    .    .    .    .    .    .    .    .    .  .   add	a0, a0, a0
# CHECK-NEXT: [0,40]    .    .    .    .    .    .    .    .    DeeE .    .    .    .    .    .    .    .    .    .    .    .    .  .   bltu	a0, a0, .Ltmp3
# CHECK-NEXT: [0,41]    .    .    .    .    .    .    .    .    DeeE .    .    .    .    .    .    .    .    .    .    .    .    .  .   add	a0, a0, a0
# CHECK-NEXT: [0,42]    .    .    .    .    .    .    .    .    .DeeE.    .    .    .    .    .    .    .    .    .    .    .    .  .   bge	a0, a0, .Ltmp4
# CHECK-NEXT: [0,43]    .    .    .    .    .    .    .    .    .DeeE.    .    .    .    .    .    .    .    .    .    .    .    .  .   add	a0, a0, a0
# CHECK-NEXT: [0,44]    .    .    .    .    .    .    .    .    . DeeE    .    .    .    .    .    .    .    .    .    .    .    .  .   bgeu	a0, a0, .Ltmp5
# CHECK-NEXT: [0,45]    .    .    .    .    .    .    .    .    . DeeE    .    .    .    .    .    .    .    .    .    .    .    .  .   add.uw	a0, a0, a0
# CHECK-NEXT: [0,46]    .    .    .    .    .    .    .    .    .  DeeE   .    .    .    .    .    .    .    .    .    .    .    .  .   slli.uw	a0, a0, 1
# CHECK-NEXT: [0,47]    .    .    .    .    .    .    .    .    .   DeeE  .    .    .    .    .    .    .    .    .    .


";
}

.fa-school-flag {
  --fa: "\e56e";
}

.fa-school-lock {
  --fa: "\e56f";
}

.fa-sheet-plastic {
  --fa: "\e571";
}

.fa-shield-cat {
  --fa: "\e572";
}

.fa-shield-dog {
  --fa: "\e573";
}

.fa-shield-heart {
  --fa: "\e574";
}

.fa-square-nfi {
  --fa: "\e576";
}

.fa-square-person-confined {
  --fa: "\e577";
}

.fa-square-virus {
  --fa: "\e578";
}

.fa-staff-snake {
  --fa: "\e579";
}

.fa-rod-asclepius {
  --fa: "\e579";
}

.fa-rod-snake {
  --fa: "\e579";
}

.fa-staff-aesculapius {
  --fa: "\e579";
}

.fa-sun-plant-wilt {
  --fa: "\e57a";
}

.fa-tarp {
  --fa: "\e57b";
}

.fa-tarp-droplet {
  --fa: "\e57c";
}

.fa-tent {
  --fa: "\e57d";
}

.fa-tent-arrow-down-to-line {
  --fa: "\e57e";
}

.fa-tent-arrow-left-right {
  --fa: "\e57f";
}

.fa-tent-arrow-turn-left {
  --fa: "\e580";
}

.fa-tent-arrows-down {
  --fa: "\e581";
}

.fa-tents {
  --fa: "\e582";
}

.fa-toilet-portable {
  --fa: "\e583";
}

.fa-toilets-portable {
  --fa: "\e584";
}

.fa-tower-cell {
  --fa: "\e585";
}

.fa-tower-observation {
  --fa: "\e586";
}

.fa-tree-city {
  --fa: "\e587";
}

.fa-trowel {
  --fa: "\e589";
}

.fa-trowel-bricks {
  --fa: "\e58a";
}

.fa-truck-arrow-right {
  --fa: "\e58b";
}

.fa-truck-droplet {
  --fa: "\e58c";
}

.fa-truck-field {
  --fa: "\e58d";
}

.fa-truck-field-un {
  --fa: "\e58e";
}

.fa-truck-plane {
  --fa: "\e58f";
}

.fa-users-between-lines {
  --fa: "\e591";
}

.fa-users-line {
  --fa: "\e592";
}

.fa-users-rays {
  --fa: "\e593";
}

.fa-users-rectangle {
  --fa: "\e594";
}

.fa-users-viewfinder {
  --fa: "\e595";
}

.fa-vial-circle-check {
  --fa: "\e596";
}

.fa-vial-virus {
  --fa: "\e597";
}

.fa-wheat-awn-circle-exclamation {
  --fa: "\e598";
}

.fa-worm {
  --fa: "\e599";
}

.fa-xmarks-lines {
  --fa: "\e59a";
}

.fa-child-dress {
  --fa: "\e59c";
}

.fa-child-reaching


 62:
YY_RULE_SETUP
#line 197 "thriftl.ll"
{ thrift_reserved_keyword(yytext); }
	YY_BREAK
case 63:
YY_RULE_SETUP
#line 198 "thriftl.ll"
{ thrift_reserved_keyword(yytext); }
	YY_BREAK
case 64:
YY_RULE_SETUP
#line 199 "thriftl.ll"
{ thrift_reserved_keyword(yytext); }
	YY_BREAK
case 65:
YY_RULE_SETUP
#line 200 "thriftl.ll"
{ thrift_reserved_keyword(yytext); }
	YY_BREAK
case 66:
YY_RULE_SETUP
#line 201 "thriftl.ll"
{ thrift_reserved_keyword(yytext); }
	YY_BREAK
case 67:
YY_RULE_SETUP
#line 202 "thriftl.ll"
{ thrift_reserved_keyword(yytext); }
	YY_BREAK
case 68:
YY_RULE_SETUP
#line 203 "thriftl.ll"
{ thrift_reserved_keyword(yytext); }
	YY_BREAK
case 69:
YY_RULE_SETUP
#line 204 "thriftl.ll"
{ thrift_reserved_keyword(yytext); }
	YY_BREAK
case 70:
YY_RULE_SETUP
#line 205 "thriftl.ll"
{ thrift_reserved_keyword(yytext); }
	YY_BREAK
case 71:
YY_RULE_SETUP
#line 206 "thriftl.ll"
{ thrift_reserved_keyword(yytext); }
	YY_BREAK
case 72:
YY_RULE_SETUP
#line 207 "thriftl.ll"
{ thrift_reserved_keyword(yytext); }
	YY_BREAK
case 73:
YY_RULE_SETUP
#line 208 "thriftl.ll"
{ thrift_reserved_keyword(yytext); }
	YY_BREAK
case 74:
YY_RULE_SETUP
#line 209 "thriftl.ll"
{ thrift_reserved_keyword(yytext); }
	YY_BREAK
case 75:
YY_RULE_SETUP
#line 210 "thriftl.ll"
{ thrift_reserved_keyword(yytext); }
	YY_BREAK
case 76:
YY_RULE_SETUP
#line 211 "thriftl.ll"
{ thrift_reserved_keyword(yytext); }
	YY_BREAK
case 77:
YY_RULE_SETUP
#line 212 "thriftl.ll"
{ thrift_reserved_keyword(yytext); }
	YY_BREAK
case 78:
YY_RULE_SETUP
#line 213 "thriftl.ll"
{ thrift_reserved_keyword(yytext); }
	YY_BREAK
case 79:
YY_RULE_SETUP
#line 214 "thriftl.ll"
{ thrift_reserved_keyword(yytext); }
	YY_BREAK
case 80:
YY_RULE_SETUP
#line 215 "thriftl.ll"
{ thrift_reserved_keyword(yytext); }
	YY_BREAK
case 81:
YY_RULE_SETUP
#line 216 "thriftl.ll"
{ thrift_reserved_keyword(yytext); }
	YY_BREAK
case 82:
YY_RULE_SETUP
#line 217 "thriftl.ll"
{ thrift_reserved_keyword(yytext); }
	YY_BREAK
case 83:
YY_RULE_SETUP
#line 218 "thriftl.ll"
{ thrift_reserved_keyword(yytext); }
	YY_BREAK
case 84:
YY_RULE_SETUP
#line 219 "thriftl.ll"
{ thrift_reserved_keyword(yytext); }
	YY_BREAK
case 85:
YY_RULE_SETUP
#line 220 "thriftl.ll"
{ thrift_reserved_keyword(yytext);


. Then a regular handler which is soft-maskable and reports the
 * problem.
 *
 * The emergency stack is used for the early real mode handler.
 *
 * XXX: unclear why MCE and HMI schemes could not be made common, e.g.,
 * either use soft-masking for the MCE, or use irq_work for the HMI.
 *
 * KVM:
 * Unlike MCE, this calls into KVM without calling the real mode handler
 * first.
 */
INT_DEFINE_BEGIN(hmi_exception_early)
	IVEC=0xe60
	IHSRR=1
	IREALMODE_COMMON=1
	ISTACK=0
	IRECONCILE=0
	IKUAP=0 /* We don't touch AMR here, we never go to virtual mode */
	IKVM_REAL=1
INT_DEFINE_END(hmi_exception_early)

INT_DEFINE_BEGIN(hmi_exception)
	IVEC=0xe60
	IHSRR=1
	IMASK=IRQS_DISABLED
	IKVM_REAL=1
INT_DEFINE_END(hmi_exception)

EXC_REAL_BEGIN(hmi_exception, 0xe60, 0x20)
	GEN_INT_ENTRY hmi_exception_early, virt=0, ool=1
EXC_REAL_END(hmi_exception, 0xe60, 0x20)
EXC_VIRT_NONE(0x4e60, 0x20)

EXC_COMMON_BEGIN(hmi_exception_early_common)
	__GEN_REALMODE_COMMON_ENTRY hmi_exception_early

	mr	r10,r1			/* Save r1 */
	ld	r1,PACAEMERGSP(r13)	/* Use emergency stack for realmode */
	subi	r1,r1,INT_FRAME_SIZE	/* alloc stack frame		*/

	__GEN_COMMON_BODY hmi_exception_early

	addi	r3,r1,STACK_FRAME_OVERHEAD
	bl	hmi_exception_realmode
	cmpdi	cr0,r3,0
	bne	1f

	EXCEPTION_RESTORE_REGS hsrr=1
	HRFI_TO_USER_OR_KERNEL

1:
	/*
	 * Go to virtual mode and pull the HMI event information from
	 * firmware.
	 */
	EXCEPTION_RESTORE_REGS hsrr=1
	GEN_INT_ENTRY hmi_exception, virt=0

	GEN_KVM hmi_exception_early

EXC_COMMON_BEGIN(hmi_exception_common)
	GEN_COMMON hmi_exception
	FINISH_NAP
	RUNLATCH_ON
	addi	r3,r1,STACK_FRAME_OVERHEAD
	bl	handle_hmi_exception
	b	interrupt_return

	GEN_KVM hmi_exception

/**
 * Interrupt 0xe80 - Directed Hypervisor Doorbell Interrupt.
 * This is an asynchronous interrupt in response to a msgsnd doorbell.
 * Similar to the 0xa00 doorbell but for host rather than guest.
 */
INT_DEFINE_BEGIN(h_doorbell)
	IVEC=0xe80
	IHSRR=1
	IMASK=IRQS_DISABLED
	IKVM_REAL=1
	IKVM_VIRT=1
INT_DEFINE_END(h_doorbell)

EXC_REAL_BEGIN(h_doorbell, 0xe80, 0x20)
	GEN_INT_ENTRY h_doorbell, virt=0, ool=1
EXC_REAL_END(h_doorbell, 0xe80, 0x20)
EXC_VIRT_BEGIN(h_doorbell, 0x4e80, 0x20)
	GEN_INT_ENTRY h_doorbell, virt=1, ool=1
EXC_VIRT_END(h_doorbell, 0x4e80, 0x20)
EXC_COMMON_BEGIN(h_doorbell_common)
	GEN_COMMON h_doorbell
	FINISH_NAP
	RUNLATCH_ON
	addi	r3,r1,STACK_FRAME_OVERHEAD
#ifdef CONFIG_PPC_DOORBELL
	bl


  * 接口调用结束的回调函数（调用成功、失败都会执行）
     */
    type ParamPropComplete = () => any
  }
  /**
   * 显示模态弹窗
   *
   * **示例代码：**
   *
   ```javascript
   Taro.showModal({
     title: '提示',
     content: '这是一个模态弹窗',
     success: function(res) {
       if (res.confirm) {
         console.log('用户点击确定')
       } else if (res.cancel) {
         console.log('用户点击取消')
       }
     }
   })
   ```
   * @see https://developers.weixin.qq.com/miniprogram/dev/api/ui/interaction/wx.showModal.html
   */
  function showModal(OBJECT: showModal.Param): Promise<showModal.Promised>

  namespace showLoading {
    type Param = {
      /**
       * 提示的内容
       */
      title: string
      /**
       * 是否显示透明蒙层，防止触摸穿透，默认：false
       */
      mask?: boolean
      /**
       * 接口调用成功的回调函数
       */
      success?: ParamPropSuccess
      /**
       * 接口调用失败的回调函数
       */
      fail?: ParamPropFail
      /**
       * 接口调用结束的回调函数（调用成功、失败都会执行）
       */
      complete?: ParamPropComplete
    }
    /**
     * 接口调用成功的回调函数
     */
    type ParamPropSuccess = (res: any) => any
    /**
     * 接口调用失败的回调函数
     */
    type ParamPropFail = (err: any) => any
    /**
     * 接口调用结束的回调函数（调用成功、失败都会执行）
     */
    type ParamPropComplete = () => any
  }
  /**
   * @since 1.1.0
   *
   * 显示 loading 提示框, 需主动调用 [Taro.hideLoading](https://developers.weixin.qq.com/miniprogram/dev/api/ui/interaction/wx.hideLoading.html) 才能关闭提示框
   * @see https://developers.weixin.qq.com/miniprogram/dev/api/ui/interaction/wx.showLoading.html
   */
  function showLoading(OBJECT?: showLoading.Param): Promise<any>

  namespace showActionSheet {
    type Promised = {
      /**
       * 用户点击的按钮，从上到下的顺序，从0开始
       */
      tapIndex: number
    }
    type Param = {
      /**
       * 按钮的文字数组，数组长度最大为6个
       */
      itemList: string[]
      /**
       * 按钮的文字颜色，默认为"#000000"
       */
      itemColor?: string
      /**
       * 接口调用成功的回调函数
       */
      success?: Param0PropSuccess
      /**
       * 接口调用失败的回调函数
       */
      fail?: Param0PropFail
      /**
       * 接口调用结束的回调函数（调用成功


loat)textures.Length);

                // create a material asset for the texture.
                Material material = new Material(Shader.Find("Standard"));
                material.SetTexture("_MainTex", texture);
                material.SetFloat("_Glossiness", 0.0f);

                // get the directory path.
                string path = System.IO.Path.GetDirectoryName(AssetDatabase.GetAssetPath(texture)) + "\\";
                string file = System.IO.Path.GetFileNameWithoutExtension(AssetDatabase.GetAssetPath(texture)) + ".mat";

                AssetDatabase.CreateAsset(material, path + file);
            }

            // stop asset editing, this allows unity to import all the materials we created in one go.
            AssetDatabase.StopAssetEditing();

            EditorUtility.ClearProgressBar();
        }

        [MenuItem("Assets/SabreCSG/Create Material For Texture(s)", true)]
        private static bool IsCreateMaterialForTexturesEnabled()
        {
            // must have a texture selected in the asset browser.
            return Selection.GetFiltered(typeof(Texture2D), SelectionMode.Assets).Length > 0;
        }
    }
}

#endif


;
use std::fs;
use std::path::PathBuf;

const LIB: &str = "kcapi";

fn main() {
    let out_path = PathBuf::from(env::var("OUT_DIR").unwrap());
    let include_path = out_path.join("include");
    let wrapper_h_path = include_path.join("wrapper.h");
    let build_path = out_path.join("libkcapi");

    /*
     * Copy the libkcapi sources to OUT_DIR.
     * We need to do this because the libkcapi sources are modified by automake,
     * and this causes package verification errors on running cargo publish.
     */
    let mut opts = fs_extra::dir::CopyOptions::new();
    opts.copy_inside = true;
    opts.overwrite = true;
    match fs_extra::dir::copy("libkcapi", out_path.clone(), &opts) {
        Ok(_ret) => {}
        Err(e) => panic!("Failed to copy libkcapi to {}: {}", build_path.display(), e),
    };

    let dst = autotools::Config::new(build_path)
        .reconf("-ivf")
        .enable("lib-asym", None)
        .enable("lib-kpp", None)
        .disable("dependency-tracking", None)
        .cflag("-O")
        .build();

    /*
     * FIXME: Need to copy wrapper.h to OUT_DIR in order to make the
     * wrappings compile. This is a hack for now until a more standard way
     * is found to do this.
     */
    match fs::copy("wrapper.h", wrapper_h_path.clone()) {
        Ok(_ok) => {}
        Err(e) => {
            panic!(
                "Unable to copy wrapper.h to {}: {}",
                wrapper_h_path.display(),
                e
            );
        }
    }

    println!("cargo:rustc-link-search=native={}/lib", dst.display());
    println!("cargo:rustc-link-lib={}", LIB);
    println!("cargo:rerun-if-changed=wrapper.h");

    let bindings = bindgen::Builder::default()
        .header(format!("{}", wrapper_h_path.display()))
        .parse_callbacks(Box::new(bindgen::CargoCallbacks))
        .generate()
        .unwrap_or_else(|_| panic!("unable to generate bindings for lib{}", LIB));

    bindings
        .write_to_file(out_path.join("bindings.rs"))
        .expect("Failed to write libkcapi bindings");
}
<gh_stars>10-100
use minecraft_assets::api::{AssetPack, Result};

use rayon::prelude::*;
use smallvec::SmallVec;
use tracing::*;

use brine_data::{BlockStateId, MinecraftData};

use crate::bakery::{
    self,
    block_states::{
        BakedBlockState, BakedBlockStateTable, BlockStateGrabBag, BlockStatesBakery,
        HalfBakedBlockState, HalfBakedGrabBagChoice,
    },
    models::{BakedModelTable, ModelBakery},
    textures::TextureTable,
};

#[derive(Debug, Default)]
pub struct BakedAssets {
    pub block_states: BakedBlockStateTable,
    pub models: BakedModelTable,
    pub textures: TextureTable,
}

pub fn bake_all(mc_data: &MinecraftData, asset_pack: &AssetPack) -> Result<BakedAssets> {
    let texture_table = bakery::textures::load_texture_table(asset_pack)?;

    let unbaked_models = bakery::models::load_unbaked_block_models(asset_pack)?;
    let model_bakery = ModelBakery::new(&unbaked_models, &texture_table);

    let unbaked_block_states = bakery::block_states::load_unbaked_block_states(asset_pack)?;
    let block_states_bakery = BlockStatesBakery::new(mc_data, &unbaked_block_states, model_bakery);

    // (Half-)Bake block states in parallel.
    let half_baked_block_states: Vec<(BlockStateId, HalfBakedBlockState)> = unbaked_block_states
        .par_iter()
        .


argValue', () => {
  test('returns true if argument is present', () => {
    expect(argValue(['--arg1', '--arg2'], '--arg1')).toBe(true);
    expect(argValue(['--arg1', '--arg2', 'file1'], '--arg1')).toBe(true);
    expect(argValue(['--arg1', '--arg2', '--', 'file1'], '--arg1')).toBe(true);
  });

  test('returns undefined if argument is not present', () => {
    expect(argValue(['--arg1', '--arg2'], '--arg3')).toBeUndefined();
    expect(argValue(['--arg1', '--', '--arg2'], '--arg2')).toBeUndefined();
  });

  test('returns value for argument with param', () => {
    expect(argValue(['--arg1', '--cmd', 'cmdValue', '--arg2'], '--cmd')).toBe('cmdValue');
    expect(argValue(['--cmd', 'cmdValue'], '--cmd')).toBe('cmdValue');
    expect(argValue(['--cmd', 'cmdValue', 'file1'], '--cmd')).toBe('cmdValue');
    expect(argValue(['--cmd', 'cmdValue', '--', '--cmd', 'invalid'], '--cmd')).toBe('cmdValue');
  });

  test('returns undefined invalid argument with param', () => {
    expect(argValue(['--arg1', '--cmd'], '--cmd')).toBeUndefined();
    expect(argValue(['--', '--cmd', 'cmdValue'], '--cmd')).toBeUndefined();
  });
});
import { Component } from '@angular/core';

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
})
export class AppComponent {
  title = 'Roll the Dice';
  number_of_dice = 2;
  size_of_dice = 6;
  dice_options = [4, 6, 8, 12, 20];
  submitted = false;
  dice = [];
  animate = true;
  cheat = false;
  weights = [
    {outcome: 1, weight: 1},
    {outcome: 2, weight: 1},
    {outcome: 3, weight: 1},
    {outcome: 4, weight: 1},
    {outcome: 5, weight: 1},
    {outcome: 6, weight: 1}
  ];

  changeSize () {
    // //Changing weights size to account for change in dice size, while preserving any weights
    // //that have been already changed
    //
    // //temporary array to hold information
    // var new_weights = [];
    // var found = false;
    // for (var i = 1; i <= this.size_of_dice; i++) {
    //   //'found' variable to test if the outcome already exists in weights
    //   found = false;
    //   //Find the item in weights where that outcome matches that die roll.
    //   for (var j = 0; j < this.weights.length; j++) {
    //     if (this.weights[j].outcome === i) {
    //       //Preserve the existing weight and send it to the placeholder variable
    //       new_weights.push(this.weights[j]);
    //       //tell the loop that this outcome has been found
    //       found = true;
    //     }
    //   }
    //   //if the outcome i wasn't found in the j loop, create a new object for it
    //   if (found === false) {
    //     new_weights.push({outcome: i, weight: 1});
    //   }
    // }
    // //Finally, take the placeholder and replace it
    // this.weights = new_weights;

    //REFACTOR: I am leaving the above intact but commented out for reference
    //One of two things will happen, but never both: Either

    //we will be adding new weights


_id, &i).await {
                Ok(m)
            } else {
                Err("No member was found from the given input.")
            }
        }
        None => Err("No member was found from the given input."),
    }
}

#[allow(unused)]
/// Wrapper around `to_channel`.
pub async fn get_channel(
    ctx: &Context,
    guild_id: GuildId,
    input: Option<&String>,
) -> Result<GuildChannel, &'static str> {
    match input {
        Some(i) => {
            if let Some(c) = to_channel(ctx, guild_id, &i).await {
                Ok(c)
            } else {
                Err("No channel was found from the given input.")
            }
        }
        None => Err("No channel was found from the given input."),
    }
}

/// Wrapper around `to_member` to get channel from id.
pub async fn get_channel_from_id(
    ctx: &Context,
    guild_id: GuildId,
    input: Option<i64>,
) -> Result<GuildChannel, &'static str> {
    // We can use the same structure as `get_channel` because `to_channel`
    // checks for channel by `ID` first, so the function is *short-circuited*.
    match input {
        Some(i) => {
            if let Some(c) = to_channel(ctx, guild_id, &i.to_string()).await {
                Ok(c)
            } else {
                Err("No channel was found from the given input.")
            }
        }
        None => Err("No channel was found from the given input."),
    }
}
<reponame>Amirhosein-GPR/shell_emulator
use std::env;
use std::io;
use std::io::{Write};

mod command;
mod pcb;

const CLEAR_CODE: &str = "\x1B[2J\x1B[1;1H";

pub fn run() {
    let mut shell_text = initilize();

    let exe_dir = env::current_dir().unwrap();
    let mut pcb_file_location = String::from(exe_dir.to_str().unwrap());
    pcb_file_location.push_str("/pcb/pcb.conf");

    loop {
        manage_commands(&mut shell_text, &pcb_file_location);
        print!("{}", shell_text);
        io::stdout().flush().expect("Error flushing stdout");
    }
}

fn initilize() -> String{
    let mut shell_text = String::from("OS@");
    shell_text.push_str(env::current_dir().unwrap().to_str().unwrap());
    shell_text.push_str(">> ");

    print!("{}", CLEAR_CODE);
    print!("{}", shell_text);
    io::stdout().flush().expect("Error flushing stdout");
    shell_text
}

fn manage_commands(shell_text: &mut String, pcb_file_location: &String) {
    let mut full_command = String::new();
    let mut extracted_command: String;
    io::stdin().read_line(&mut full_command).expect("Error reading command from terminal");
    extracted_command = full_command.clone();

    let mut command_first_argument: &str = "";
    let mut command_second_argument: &str = "";

    if full_command.contains(' ') {
        let vec_str = full_command.split(' ').collect::<Vec<&str>>();
        extracted_command.truncate(0);
        extracted_command.push_str(vec_str.first().unwrap().trim());
        command_first_argument = vec_str.get(1).unwrap().trim();
        if vec_str.len() == 3 {
            command_second_argument = vec_str.last().unwrap().trim();
        }
    }

    match extracted_command.trim() {
        "pwd" => {
            command::pwd(command_first_argument);
        },
        "history" => {
            pcb::log(pcb_file_l


# This code is part of a Qiskit project.
#
# (C) Copyright IBM 2019, 2023.
#
# This code is licensed under the Apache License, Version 2.0. You may
# obtain a copy of this license in the LICENSE.txt file in the root directory
# of this source tree or at http://www.apache.org/licenses/LICENSE-2.0.
#
# Any modifications or derivative works of this code must retain this
# copyright notice, and modified files need to carry a notice indicating
# that they have been altered from the originals.

"""Interface for all objects that have a parent QuadraticProgram."""

# We import `problems` module not `QuadraticProgram` class
# to resolve the circular import issue of sphinx.
# See https://github.com/agronholm/sphinx-autodoc-typehints#dealing-with-circular-imports
from .. import _problems  # pylint: disable=cyclic-import

class QuadraticProgramElement:
    """Interface class for all objects that have a parent QuadraticProgram."""

    def __init__(self, quadratic_program: "_problems.QuadraticProgram") -> None:
        """Initialize object with parent QuadraticProgram.

        Args:
            quadratic_program: The parent QuadraticProgram.
        Raises:
            TypeError: QuadraticProgram instance expected.
        """
        # pylint: disable=cyclic-import
        from .quadratic_program import QuadraticProgram

        if not isinstance(quadratic_program, QuadraticProgram):
            raise TypeError("QuadraticProgram instance expected")

        self._quadratic_program = quadratic_program

    @property
    def quadratic_program(self) -> "_problems.QuadraticProgram":
        """Returns the parent QuadraticProgram.

        Returns:
            The parent QuadraticProgram.
        """
        return self._quadratic_program

    @quadratic_program.setter
    def quadratic_program(self, quadratic_program: "_problems.QuadraticProgram") -> None:
        """Sets the parent QuadraticProgram.

        Args:
            quadratic_program: The parent QuadraticProgram.
        Raises:
            TypeError: QuadraticProgram instance expected.
        """
        # pylint: disable=cyclic-import
        from .quadratic_program import QuadraticProgram

        if not isinstance(quadratic_program, QuadraticProgram):
            raise TypeError("QuadraticProgram instance expected")

        self._quadratic_program = quadratic_program


    Validated(BitField),
    Unvalidated(#[serde(with = "serde_bytes")] Vec<u8>),
}

impl UnvalidatedBitField {
    /// Validates the RLE+ encoding of the bit field, returning a unique
    /// reference to the decoded bit field.
    pub fn validate_mut(&mut self) -> Result<&mut BitField> {
        if let Self::Unvalidated(bytes) = self {
            *self = Self::Validated(BitField::from_bytes(&bytes)?);
        }

        match self {
            Self::Validated(bf) => Ok(bf),
            Self::Unvalidated(_) => unreachable!(),
        }
    }
}

impl From<BitField> for UnvalidatedBitField {
    fn from(bf: BitField) -> Self {
        Self::Validated(bf)
    }
}

impl<'de> Deserialize<'de> for UnvalidatedBitField {
    fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
    where
        D: Deserializer<'de>,
    {
        let bytes: Vec<u8> = serde_bytes::deserialize(deserializer)?;
        Ok(Self::Unvalidated(bytes))
    }
}
<reponame>rickrain/azure-sdk-for-rust
#![doc = "generated by AutoRust"]
#![allow(unused_mut)]
#![allow(unused_variables)]
#![allow(unused_imports)]
#![allow(clippy::redundant_clone)]
use super::models;
#[derive(Clone)]
pub struct Client {
    endpoint: String,
    credential: std::sync::Arc<dyn azure_core::auth::TokenCredential>,
    scopes: Vec<String>,
    pipeline: azure_core::Pipeline,
}
#[derive(Clone)]
pub struct ClientBuilder {
    credential: std::sync::Arc<dyn azure_core::auth::TokenCredential>,
    endpoint: Option<String>,
    scopes: Option<Vec<String>>,
}
pub const DEFAULT_ENDPOINT: &str = azure_core::resource_manager_endpoint::AZURE_PUBLIC_CLOUD;
impl ClientBuilder {
    pub fn new(credential: std::sync::Arc<dyn azure_core::auth::TokenCredential>) -> Self {
        Self {
            credential,
            endpoint: None,
            scopes: None,
        }
    }
    pub fn endpoint(mut self, endpoint: impl Into<String>) -> Self {
        self.endpoint = Some(endpoint.into());
        self
    }
    pub fn scopes(mut self, scopes: &[&str]) -> Self {
        self.scopes = Some(scopes.iter().map(|scope| (*scope).to_owned()).collect());
        self
    }
    pub fn build(self) -> Client {
        let endpoint = self.endpoint.unwrap_or_else(|| DEFAULT_ENDPOINT.to_owned());
        let scopes = self.scopes.unwrap_or_else(|| vec![format!("{}/", endpoint)]);
        Client::new(endpoint, self.credential, scopes)
    }
}
impl Client {
    pub(crate) fn endpoint(&self) -> &str {
        self.endpoint.as_str()
    }
    pub(crate) fn token_credential(&self) -> &dyn azure_core::auth::TokenCredential {
        self.credential.as_ref()
    }
    pub(crate) fn scopes(&self) -> Vec<&str> {
        self.scopes.iter().map(String::as_str).collect()
    }
    pub(crate) async fn send(&self, request: impl Into<azure_core::Request>) -> azure_core::error::Result<azure_core::Response> {
        let mut context = azure_core::Context::default();
        let mut request = request.into();
        self.pipeline.send(&mut context, &mut request).await
    }
    pub fn new(
        endpoint: impl Into<String>,
        credential: std::sync::Arc<dyn azure_core::auth::TokenCredential>,
        scopes: Vec<String>,
    ) -> Self {
        let endpoint = endpoint.into();
        let pipeline = azure_core::Pipeline::new(
            option_env!("CARGO_PKG_NAME"),
            option_env!("CARGO_PKG_VERSION"),
            azure_core::ClientOptions::default


message

	;================
	; haldo
	;================
archery_haldo:

	lda	GAME_STATE_0
	and	#HALDO_TO_DONGOLEV
	bne	archery_haldo_after_haldo

	jmp	parse_common_haldo

archery_haldo_after_haldo:
	ldx	#<archery_haldo_message
	ldy	#>archery_haldo_message
	jmp	finish_parse_message

	;=================
	; look
	;=================

archery_look:

	lda	CURRENT_NOUN

	cmp	#NOUN_DESK
	beq	archery_look_at_desk
	cmp	#NOUN_TARGET
	beq	archery_look_at_target
	cmp	#NOUN_ARCHER
	beq	archery_look_at_archer
	cmp	#NOUN_NONE
	beq	archery_look_at

	jmp	parse_common_look

archery_look_at:
	ldx	#<archery_look_message
	ldy	#>archery_look_message
	jmp	finish_parse_message

archery_look_at_archer:
	; first check if we've talked to mendelev
	lda	GAME_STATE_0
	and	#TALKED_TO_MENDELEV
	beq	archery_look_at_archer_before

	lda	GAME_STATE_0
	and	#HALDO_TO_DONGOLEV
	beq	archery_look_at_archer_after

archery_look_at_otherwise:
	ldx	#<archery_look_at_archer_otherwise_message
	ldy	#>archery_look_at_archer_otherwise_message
	jmp	finish_parse_message

archery_look_at_archer_before:
	ldx	#<archery_look_at_archer_message
	ldy	#>archery_look_at_archer_message
	jmp	finish_parse_message

archery_look_at_archer_after:
	ldx	#<archery_look_at_archer_sponge_message
	ldy	#>archery_look_at_archer_sponge_message
	jmp	finish_parse_message

archery_look_at_target:
	ldx	#<archery_look_at_target_message
	ldy	#>archery_look_at_target_message
	jmp	finish_parse_message

archery_look_at_desk:
	ldx	#<archery_look_at_desk_message
	ldy	#>archery_look_at_desk_message
	jmp	finish_parse_message

	;================
	; play
	;================
archery_play:
	lda	CURRENT_NOUN

	cmp	#NOUN_GAME
	beq	archery_check_play_game

	jmp	parse_common_unknown

archery_check_play_game:

	lda	GAME_STATE_0
	and	#ARROW_BEATEN
	bne	archery_play_game_arrow_beaten

	lda	GAME_STATE_0
	and	#TRINKET_GIVEN
	bne	archery_play_game

archery_play_game_closed:
	ldx	#<archery_play_game_closed_message
	ldy	#>archery_play_game_closed_message
	jmp	finish_parse_message

archery_play_game_arrow_beaten:
	jmp	archery_after_minigame

archery_play_game:

	ldx	#<archery_play_game_message
	ldy	#>archery_play_game_


-- Perk Program Static Dialogs
local function PerksProgramPurchaseOnAccept(popup)
	PerksProgramFrame:Purchase(popup.data);
	EventRegistry:TriggerEvent("PerksProgram.RemoveItemFromCart", popup.data.product.perksVendorItemID);
end

local function PerksProgramPurchaseOnEvent(popup, event, ...)
	return event == "PERKS_PROGRAM_PURCHASE_SUCCESS";
end

StaticPopupDialogs["PERKS_PROGRAM_CONFIRM_PURCHASE"] = {
	text = PERKS_PROGRAM_CONFIRM_PURCHASE,
	button1 = PERKS_PROGRAM_PURCHASE,
	button2 = CANCEL,
	OnAccept = GenerateClosure(StaticPopup_OnAcceptWithSpinner, PerksProgramPurchaseOnAccept, PerksProgramPurchaseOnEvent, {"PERKS_PROGRAM_PURCHASE_SUCCESS"}, 0),
	timeout = 0,
	exclusive = 1,
	hasItemFrame = 1,
	fullScreenCover = true,
};

local function PerksProgramPurchaseCartOnAccept(popup)
	PerksProgramFrame:PurchaseCart(popup.data);
	EventRegistry:TriggerEvent("PerksProgram.ClearCart");
end

local function PerksProgramPurchaseCartOnEvent(popup, event, ...)
	return event == "PERKS_PROGRAM_PURCHASE_SUCCESS";
end

StaticPopupDialogs["PERKS_PROGRAM_CONFIRM_CART_PURCHASE"] = {
	text = PERKS_PROGRAM_CART_PURCHASE_POPUP_TEXT,
	button1 = PERKS_PROGRAM_PURCHASE,
	button2 = CANCEL,
	OnAccept = GenerateClosure(StaticPopup_OnAcceptWithSpinner, PerksProgramPurchaseCartOnAccept, PerksProgramPurchaseCartOnEvent, {"PERKS_PROGRAM_PURCHASE_SUCCESS"}, 0),
	timeout = 0,
	exclusive = 1,
	fullScreenCover = true,
};

local function PerksProgramRefundOnAccept(popup)
	PerksProgramFrame:Refund(popup.data);
end

local function PerksProgramRefundOnEvent(popup, event, ...)
	return event == "PERKS_PROGRAM_REFUND_SUCCESS";
end

StaticPopupDialogs["PERKS_PROGRAM_CONFIRM_REFUND"] = {
	text = PERKS_PROGRAM_CONFIRM_REFUND,
	button1 = PERKS_PROGRAM_REFUND,
	button2 = CANCEL,
	OnAccept = GenerateClosure(StaticPopup_OnAcceptWithSpinner, PerksProgramRefundOnAccept, PerksProgramRefundOnEvent, {"PERKS_PROGRAM_REFUND_SUCCESS"}, 0),
	timeout = 0,
	exclusive = 1,
	hasItemFrame = 1,
	fullScreenCover = true,
};

StaticPopupDialogs["PERKS_PROGRAM_SLOW_PURCHASE"] = {
	text = PERKS_PROGRAM_SLOW_PURCHASE,
	button1 = PERKS_PROGRAM_RETURN_TO_TRADING_POST,
	timeout = 0,
	exclusive = 1,
	fullScreenCover = true,
	hideOnEscape = true,
};

StaticPopupDialogs["PERKS_PROGRAM_SERVER_ERROR"] = {
	text = PERKS_PROGRAM_SERVER_ERROR,
	button1 = OKAY,
	timeout = 0,
	exclusive = 1,
	fullScreenCover = true,
	hideOnEscape = true,
};

StaticPopupDialogs["PERKS_PROGRAM_ITEM_PROCESSING_ERROR"] = {
	text = PERKS_PROGRAM_ITEM_PROCESSING_ERROR,
	button1 = OKAY,
	timeout = 0,
	exclusive = 1,
	fullScreenCover = true,
	hideOnEscape = true,
};

StaticPopupDialogs["PERKS_PROGRAM_CONFIRM_OVERRIDE_FROZEN_ITEM"] = {
	text = PERKS_PROGRAM_CONFIRM_OVERRIDE_FROZEN_ITEM,
	button1 = PERKS_PROGRAM_CONFIRM,
	button2 = CANCEL,
	OnShow = function(dialog, data) EventRegistry:TriggerEvent("PerksProgram.OnFrozenItemConfirmationShown"); end,
	OnAccept = function(dialog, data) Event


vars:
        enabled: true
        name: bastion-ssm
        # Your choice of availability zones. If not specified, all private subnets are used.
        availability_zones: ["us-east-1a", "us-east-1b", "us-east-1c"]
        instance_type: t3.micro
        image_container: infrastructure:latest
        image_repository: "111111111111.dkr.ecr.us-east-1.amazonaws.com/example/infrastructure"
```

The following is an example snippet for how to use this component as a traditional bastion:

```yaml
components:
  terraform:
    bastion:
      vars:
        enabled: true
        name: bastion-traditional
        image_container: infrastructure:latest
        image_repository: "111111111111.dkr.ecr.us-east-1.amazonaws.com/example/infrastructure"
        associate_public_ip_address: true # deploy to public subnet and associate public IP with instance
        custom_bastion_hostname: bastion
        vanity_domain: example.com
        security_group_rules:
          - type: "ingress"
            from_port: 22
            to_port: 22
            protocol: tcp
            cidr_blocks: ["1.2.3.4/32"]
          - type: "egress"
            from_port: 0
            to_port: 0
            protocol: -1
            cidr_blocks: ["0.0.0.0/0"]
```

## Requirements

| Name | Version |
|------|---------|
|  [terraform](#requirement\_terraform) | >= 1.0.0 |
|  [aws](#requirement\_aws) | >= 4.0 |
|  [cloudinit](#requirement\_cloudinit) | >= 2.2 |

## Providers

| Name | Version |
|------|---------|
|  [aws](#provider\_aws) | >= 4.0 |
|  [cloudinit](#provider\_cloudinit) | >= 2.2 |

## Modules

| Name | Source | Version |
|------|--------|---------|
|  [bastion\_autoscale\_group](#module\_bastion\_autoscale\_group) | cloudposse/ec2-autoscale-group/aws | 0.35.1 |
|  [iam\_roles](#module\_iam\_roles) | ../account-map/modules/iam-roles | n/a |
|  [sg](#module\_sg) | cloudposse/security-group/aws | 2.2.0 |
|  [ssm\_tls\_ssh\_key\_pair](#module\_ssm\_tls\_ssh\_key\_pair) | cloudposse/ssm-tls-ssh-key-pair/aws | 0.10.2 |
|  [this](#module\_this) | cloudposse/label/null | 0.25.0 |
|  [vpc](#module\_vpc) | cloudposse/stack-config/yaml//modules/remote-state | 1.5.0 |

## Resources

| Name | Type |
|------|------|
| [aws_iam_instance_profile.default](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_instance_profile) | resource |
| [aws_iam_role.default](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role) | resource |
| [aws_iam_role_policy.main](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role_policy) | resource |
| [aws_ami.bastion_image](https://registry.terraform.io/providers/hashic


.collector_len == 16
end

--- Set all members of the lacp header.
--- Per default, all members are set to default values specified in the respective set function.
--- Optional named arguments can be used to set a member to a user-provided value.
--- @param args Table of named arguments. Available arguments: {Actor|Partner}{SysPriority|SysId|Key|PortPriority|PortId|State}
--- @param pre prefix for namedArgs. Default 'lacp'.
--- @code
--- fill() -- only default values
--- fill{ lacpXYZ=1 } -- all members are set to default values with the exception of lacpXYZ, ...
--- @endcode
function lacpHeader:fill(args, pre)
	args = args or {}
	pre = pre or "lacp"
	-- protocol constants, making these modifiable makes no sense
	-- (just set them yourself outside of fill if you need different values for strange reasons)
	self.subtype = 1
	self.version = 1
	self.actor_type = 1
	self.actor_len = 20
	self.partner_type = 2
	self.partner_len = 20
	self.collector_type = 3
	self.collector_len = 16
	self.collector_delay = 0
	-- z1 - z3: implicitly zeroed
	local actor = self.actor
	actor:setSysPriority(args[pre .. "ActorSysPriority"])
	actor:setKey(args[pre .. "ActorKey"])
	actor:setPortPriority(args[pre .. "ActorPortPriority"])
	actor:setPortId(args[pre .. "ActorPortId"])
	actor:setState(args[pre .. "ActorState"])
	actor.sys_id:setString(args[pre .. "ActorSysId"] or "00:00:00:00:00:00")
	local partner = self.partner
	partner:setSysPriority(args[pre .. "PartnerSysPriority"])
	partner:setKey(args[pre .. "PartnerKey"])
	partner:setPortPriority(args[pre .. "PartnerPortPriority"])
	partner:setPortId(args[pre .. "PartnerPortId"])
	partner:setState(args[pre .. "PartnerState"])
	partner.sys_id:setString(args[pre .. "PartnerSysId"] or "00:00:00:00:00:00")
end

--- Retrieve the values of all members.
--- @param pre prefix for namedArgs. Default 'lacp'.
--- @return Table of named arguments. For a list of arguments see "See also".
--- @see lacpHeader:fill
function lacpHeader:get(pre)
	pre = pre or "lacp"
	error("NYI") -- I'm lazy
end

--- Retrieve the values of all members.
--- @return Values in string format.
function lacpHeader:getString()
	if self.subtype ~= 1 or self.version ~= 1 then
		return "Unknown 0x8809 protocol: Type " .. self.subtype .. " Version " .. self.version
	end
	if not self:validate() then
		return "Could not parse payload"
	end
	return "  Actor Information\n"
		.. "    " .. self.actor:getString()
		.. "\n  Partner Information\n"
		.. "    " .. self.partner:getString()
		.. "\n  Collector Information\n"
		.. "    Max Delay " .. ntoh16(self.collector_delay)
end

------------------------------------------------------------------------
---- Metatypes
------------------------------------------------------------------------

ffi.metatype("struct lacp_info", lacpInfo)
lacp.metatype = lacpHeader

------------------------------------------------------------------------
---- LACP Handler Task
------------------------------------------------------------------------

lacp.lacpTask = "__MG_LACP_TASK"

--- Start a shared LACP task. Use multiple tasks for multiple channels.


-content/themes/f2/print.css" type="text/css" media="print" />

<link rel="pingback" href="https://statmodeling.stat.columbia.edu/xmlrpc.php" />

<link rel='dns-prefetch' href='//s.w.org' />
<link rel="alternate" type="application/rss+xml" title="Statistical Modeling, Causal Inference, and Social Science » Feed" href="https://statmodeling.stat.columbia.edu/feed/" />
<link rel="alternate" type="application/rss+xml" title="Statistical Modeling, Causal Inference, and Social Science » Comments Feed" href="https://statmodeling.stat.columbia.edu/comments/feed/" />
		<script type="text/javascript">
			window._wpemojiSettings = {"baseUrl":"https:\/\/s.w.org\/images\/core\/emoji\/12.0.0-1\/72x72\/","ext":".png","svgUrl":"https:\/\/s.w.org\/images\/core\/emoji\/12.0.0-1\/svg\/","svgExt":".svg","source":{"concatemoji":"https:\/\/statmodeling.stat.columbia.edu\/wp-includes\/js\/wp-emoji-release.min.js?ver=5.4.2"}};
			/*! This file is auto-generated */
			!function(e,a,t){var r,n,o,i,p=a.createElement("canvas"),s=p.getContext&&p.getContext("2d");function c(e,t){var a=String.fromCharCode;s.clearRect(0,0,p.width,p.height),s.fillText(a.apply(this,e),0,0);var r=p.toDataURL();return s.clearRect(0,0,p.width,p.height),s.fillText(a.apply(this,t),0,0),r===p.toDataURL()}function l(e){if(!s||!s.fillText)return!1;switch(s.textBaseline="top",s.font="600 32px Arial",e){case"flag":return!c([127987,65039,8205,9895,65039],[127987,65039,8203,9895,65039])&&(!c([55356,56826,55356,56819],[55356,56826,8203,55356,56819])&&!c([55356,57332,56128,56423,56128,56418,56128,56421,56128,56430,56128,56423,56128,56447],[55356,57332,8203,56128,56423,8203,56128,56418,8203,56128,56421,8203,56128,56430,8203,56128,56423,8203,56128,56447]));case"emoji":return!c([55357,56424,55356,57342,8205,55358,56605,8205,55357,56424,55356,57340],[55357,56424,55356,57342,8203,55358,56605,8203,55357,56424,55356,57340])}return!1}function d(e){var t=a.createElement("script");t.src=e,t.defer=t.type="text/javascript",a.getElementsByTagName("head")[0].appendChild(t)}for(i=Array("flag","emoji"),t.supports={everything:!0,everythingExceptFlag:!0},o=0;o<i.length;o++)t.supports[i[o]]=l(i[o]),t.supports.everything=t.supports.everything&&t.supports[i[o]],"flag"!==i[o]&&(t.supports.everythingExceptFlag=t.supports.everythingExceptFlag&&t.supports[i[o]]);t.supports.everythingExceptFlag=t.supports.everythingExceptFlag&&!t.supports.flag,t.DOMReady=!1,t.readyCallback=function(){t.DOMReady=!0},t.supports.everything||(n=function(){t.readyCallback()},a.addEventListener?(a.addEventListener("DOMContentLoaded",n,!1),e.addEventListener("load",n,!1)):(e.attachEvent("onload",n),a.attachEvent("onreadystatechange",


0 on success, or -EINVAL if given frequency could not be set.
*/
int timer_set_frequency(const timer_frc_t frc, uint32_t freq);

/* Sets the timer for a oneshot interrupt in 'us' microseconds.

   Will change the timer divisor value to suit the target time.

   Does not change the autoreload setting.

   For FRC2 this sets the timer match value relative to the current
   load value.

   Note that for a true "one shot" timeout with FRC1 then you need to
   also disable FRC1 in the timer interrupt handler by calling
   timer_set_run(TIMER_FRC1, false);

   Returns 0 on success, or -EINVAL if the given timeout could not be set.
*/
int timer_set_timeout(const timer_frc_t frc, uint32_t us);

#ifdef	__cplusplus
}
#endif

#endif


ate/speed, in the range [0.25, 4.0].
        /// </summary>
        public readonly double? SpeakingRate;
        /// <summary>
        /// The desired voice of the synthesized audio.
        /// Structure is documented below.
        /// </summary>
        public readonly Outputs.ConversationProfileTtsConfigVoice? Voice;
        /// <summary>
        /// Volume gain (in dB) of the normal native volume supported by the specific voice.
        /// </summary>
        public readonly double? VolumeGainDb;

        [OutputConstructor]
        private ConversationProfileTtsConfig(
            ImmutableArray<string> effectsProfileIds,

            double? pitch,

            double? speakingRate,

            Outputs.ConversationProfileTtsConfigVoice? voice,

            double? volumeGainDb)
        {
            EffectsProfileIds = effectsProfileIds;
            Pitch = pitch;
            SpeakingRate = speakingRate;
            Voice = voice;
            VolumeGainDb = volumeGainDb;
        }
    }
}


* z);
        let et = Math.exp(w);
        let s = r > 0 ? et * Math.sin(r) / r : 0;
        let out = Quaternion.create();
        out[0] = x * s;
        out[1] = y * s;
        out[2] = z * s;
        out[3] = et * Math.cos(r);
        return out;
    }

    public ln(): Quaternion {
        var x = this[0],
            y = this[1],
            z = this[2],
            w = this[3];
        var r = Math.sqrt(x * x + y * y + z * z);
        var t = r > 0 ? Math.atan2(r, w) / r : 0;
        let out = Quaternion.create();
        out[0] = x * t;
        out[1] = y * t;
        out[2] = z * t;
        out[3] = 0.5 * Math.log(x * x + y * y + z * z + w * w);
        return out;
    }

    public pow(scale: number): Quaternion {
        let out = this.ln();
        out = out.scale(scale);
        out = out.exponential();
        return out;
    }

    public static slerp(a: Quaternion, b: Quaternion, amount: number): Quaternion {
        let ax = a[0],
            ay = a[1],
            az = a[2],
            aw = a[3];
        let bx = b[0],
            by = b[1],
            bz = b[2],
            bw = b[3];
        let omega, cosom, sinom, scale0, scale1;

        cosom = ax * bx + ay * by + az * bz + aw * bw;

        if (cosom < 0.0) {
          cosom = -cosom;
          bx = -bx;
          by = -by;
          bz = -bz;
          bw = -bw;
        }

        if (1.0 - cosom > Math.EPSILON) {
          omega = Math.acos(cosom);
          sinom = Math.sin(omega);
          scale0 = Math.sin((1.0 - amount) * omega) / sinom;
          scale1 = Math.sin(amount * omega) / sinom;
        } else {
          // "from" and "to" quaternions are very close
          //  ... so we can do a linear interpolation
          scale0 = 1.0 - amount;
          scale1 = amount;
        } // calculate final values

        let out = Quaternion.create();
        out[0] = scale0 * ax + scale1 * bx;
        out[1] = scale0 * ay + scale1 * by;
        out[2] = scale0 * az + scale1 * bz;
        out[3] = scale0 * aw + scale1 * bw;
        return out;
    }

    public random(): Quaternion {
        let u1 = Math.random();
        let u2 = Math.random();
        let u3 = Math.random();
        let sqrt1MinusU1 = Math.sqrt(1 - u1);
        let sqrtU1 = Math.sqrt(u1);
        let out = Quaternion.create();
        out[0] = sqrt1MinusU1 * Math.sin(2.0 * Math.PI * u2);
        out[1] = sqrt1MinusU1 * Math.cos(2.0 * Math.PI * u2);
        out[2] = sqrtU1 * Math.sin(2.0 * Math.PI * u3);
        out[3] = sqrtU1 * Math.cos(2.0 * Math.PI * u3);
        return out;
    }

    public invert(): Quaternion {
        let a0 = this[0],
            a1 = this[1],
            a2 = this[2],
            a3 = this[3];
        let dot = a0 * a0 + a


ийц из племени Порочной Ветви.","Уничтожьте пожирателей душ из клана Порочной Ветви."}, {"Убейте 20 берсерков, 20 темных охотников, 20 кровопийц и 20 пожирателей душ из племени Порочной Ветви.","После выполнения задания вернуться к старейшине Сломанному Клыку во Внутренних землях."}},
[7863] = {"Припасы часовых", nil, nil},
[7864] = {"Стандартные припасы часового", nil, nil},
[7865] = {"Улусшенные припасы часового", nil, nil},
[7866] = {"Припасы Всадников", nil, nil},
[7867] = {"Стандартные припасы Всадников", nil, nil},
[7868] = {"Улучшенные припасы Всадников", nil, nil},
[7871] = {"Долой захватчиков!", {"<Юный/Юная:c> <класс>! Миновав этот проход, ты увидишь поле яростных сражений. Орда продолжает вырубать наши священные леса, уничтожая вечнозеленые кроны, чтобы питать свою военную машину!","Отправляйся в Ущелье Песни Войны, чтобы оборонять Заставу Среброкрылых! Отражай нападения ордынских захватчиков!","Наградой тебе будет талисман заслуг. Принеси мне такой талисман, <имя>, и получишь награду!"}, {"Войдите в Ущелье Песни Войны, одержите победу над Ордой, получите почетный знак ущелья Песни Войны и вернитесь с ним к часовому Дальней Песне в рощу Среброкрылых."}},
[7872] = {"Долой захватчиков!", {"<Юный/Юная:c> <класс>! Миновав этот проход, ты увидишь поле яростных сражений. Орда продолжает вырубать наши священные леса, уничтожая вечнозеленые кроны, чтобы питать свою военную машину!","Отправляйся в Ущелье Песни Войны, чтобы оборонять Заставу Среброкрылых! Отражай нападения ордынских захватчиков!","Наградой тебе будет талисман заслуг. Принеси мне такой талисман, <имя>, и получишь награду!"}, {"Войдите в Ущелье Песни Войны, одержите победу над Ордой, получите почетный знак ущелья Песни Войны и вернитесь с ним к часовому Дальней Песне в рощу Среброкрылых."}},
[7873] = {"Долой захватчиков!", {"<Юный/Юная:c> <клас


_hat, u[j + n - 2]) {
								break;
							}
							// then iterate till it doesn't hold
							q_hat -= 1;
							let (new_r_hat, overflow) = r_hat.overflowing_add(v_n_1);
							r_hat = new_r_hat;
							// if r_hat overflowed, we're done
							if overflow {
								break;
							}
						}
						q_hat
					} else {
						// here q_hat >= q_j >= q_hat - 1
						u64::max_value()
					};

					// ex. 20:
					// since q_hat * v_{n-2} <= b * r_hat + u_{j+n-2},
					// either q_hat == q_j, or q_hat == q_j + 1

					// D4.
					// let's assume optimistically q_hat == q_j
					// subtract (q_hat * v) from u[j..]
					let q_hat_v = v.full_mul_u64(q_hat);
					// u[j..] -= q_hat_v;
					let c = Self::sub_slice(&mut u[j..], &q_hat_v[..n + 1]);

					// D6.
					// actually, q_hat == q_j + 1 and u[j..] has overflowed
					// highly unlikely ~ (1 / 2^63)
					if c != 0 {
						q_hat -= 1;
						// add v to u[j..]
						let c = Self::add_slice(&mut u[j..], &v.0[..n]);
						u[j + n] = u[j + n].wrapping_add(c);
					}

					// D5.
					q.0[j] = q_hat;
				}

				// D8.
				let remainder = Self::full_shr(u, shift);

				(q, remainder)
			}

			// Returns the least number of words needed to represent the nonzero number
			fn words(bits: usize) -> usize {
				debug_assert!(bits > 0);
				1 + (bits - 1) / Self::WORD_BITS
			}

			/// Returns a pair `(self / other, self % other)`.
			///
			/// # Panics
			///
			/// Panics if `other` is zero.
			pub fn div_mod(mut self, mut other: Self) -> (Self, Self) {
				use $crate::core_::cmp::Ordering;

				let my_bits = self.bits();
				let your_bits = other.bits();

				assert!(your_bits != 0, "division by zero");

				// Early return in case we are dividing by a larger number than us
				if my_bits < your_bits {
					return (Self::zero(), self);
				}

				if your_bits <= Self::WORD_BITS {
					return self.div_mod_small(other.low_u64());
				}

				let (n, m) = {
					let my_words = Self::words(my_bits);
					let your_words = Self::words(your_bits);
					(your_words, my_words - your_words)
				};

				self.div_mod_knuth(other, n, m)
			}

			/// Fast exponentiation by squaring
			/// https://en.wikipedia.org/wiki/Exponentiation_by_squaring
			///
			/// # Panics
			///
			/// Panics if the result overflows the type.
			pub fn pow(self, expon: Self) -> Self {
				if expon.is_zero() {
					return Self::one()
				}
				let is_even = |x : &Self| x.low_u64() & 1 == 0;

				let u_one = Self::one();
				let mut y = u_one;
				let mut n = expon;
				let mut x = self;
				while n > u_one {
					if is_even(&n) {
						x = x * x;
						n = n >> 1u32;
					} else {
						y = x * y;


MCIF_WB_BUF_3_ADDR_C;\
	type MCIF_WB_BUF_3_ADDR_C_OFFSET;\
	type MCIF_WB_BUF_4_ADDR_Y;\
	type MCIF_WB_BUF_4_ADDR_Y_OFFSET;\
	type MCIF_WB_BUF_4_ADDR_C;\
	type MCIF_WB_BUF_4_ADDR_C_OFFSET;\
	type MCIF_WB_BUFMGR_VCE_LOCK_IGNORE;\
	type MCIF_WB_BUFMGR_VCE_INT_EN;\
	type MCIF_WB_BUFMGR_VCE_INT_ACK;\
	type MCIF_WB_BUFMGR_VCE_SLICE_INT_EN;\
	type MCIF_WB_BUFMGR_VCE_LOCK;\
	type MCIF_WB_BUFMGR_SLICE_SIZE;\
	type NB_PSTATE_CHANGE_REFRESH_WATERMARK;\
	type NB_PSTATE_CHANGE_URGENT_DURING_REQUEST;\
	type NB_PSTATE_CHANGE_FORCE_ON;\
	type NB_PSTATE_ALLOW_FOR_URGENT;\
	type NB_PSTATE_CHANGE_WATERMARK_MASK;\
	type MCIF_WB_CLI_WATERMARK;\
	type MCIF_WB_CLI_CLOCK_GATER_OVERRIDE;\
	type MCIF_WB_PITCH_SIZE_WARMUP;\
	type MCIF_WB_BUF_LUMA_SIZE;\
	type MCIF_WB_BUF_CHROMA_SIZE;\

struct dcn10_dwbc_registers {
	uint32_t WB_ENABLE;
	uint32_t WB_EC_CONFIG;
	uint32_t CNV_MODE;
	uint32_t WB_SOFT_RESET;
	uint32_t MCIF_WB_BUFMGR_SW_CONTROL;
	uint32_t MCIF_WB_BUF_PITCH;
	uint32_t MCIF_WB_ARBITRATION_CONTROL;
	uint32_t MCIF_WB_SCLK_CHANGE;
	uint32_t MCIF_WB_BUF_1_ADDR_Y;
	uint32_t MCIF_WB_BUF_1_ADDR_Y_OFFSET;
	uint32_t MCIF_WB_BUF_1_ADDR_C;
	uint32_t MCIF_WB_BUF_1_ADDR_C_OFFSET;
	uint32_t MCIF_WB_BUF_2_ADDR_Y;
	uint32_t MCIF_WB_BUF_2_ADDR_Y_OFFSET;
	uint32_t MCIF_WB_BUF_2_ADDR_C;
	uint32_t MCIF_WB_BUF_2_ADDR_C_OFFSET;
	uint32_t MCIF_WB_BUF_3_ADDR_Y;
	uint32_t MCIF_WB_BUF_3_ADDR_Y_OFFSET;
	uint32_t MCIF_WB_BUF_3_ADDR_C;
	uint32_t MCIF_WB_BUF_3_ADDR_C_OFFSET;
	uint32_t MCIF_WB_BUF_4_ADDR_Y;
	uint32_t MCIF_WB_BUF_4_ADDR_Y_OFFSET;
	uint32_t MCIF_WB_BUF_4_ADDR_C;
	uint32_t MCIF_WB_BUF_4_ADDR_C_OFFSET;
	uint32_t MCIF_WB_BUFMGR_VCE_CONTROL;
	uint32_t MCIF_WB_NB_PSTATE_LATENCY_WATERMARK;
	uint32_t MCIF_WB_NB_PSTATE_CONTROL;
	uint32_t MCIF_WB_WATERMARK;
	uint32_t MCIF_WB_WARM_UP_CNTL;
	uint32_t MCIF_WB_BUF_LUMA_SIZE;
	uint32_t MCIF_WB_BUF_CHROMA_SIZE;
};
struct dcn10_dwbc_mask {
	DWBC_REG_FIELD_LIST(uint32_t)
};
struct dcn10_dwbc_shift {
	DWBC_REG_FIELD_LIST(uint8_t)
};
struct dcn10_dwbc {
	struct dwbc base;
	const struct dcn10_dwbc_registers *dwbc_regs;
	const struct dcn10_dwbc_shift *dwbc_shift;
	const struct dcn10_dwbc_mask *dwbc_mask;
};

void dcn10_dwbc_construct(struct dcn10_dwbc *dwbc10,
		struct dc_context *ctx,
		const struct dcn10_dwbc_registers *dwbc_regs,
		const struct dcn10_dwbc_shift *dwbc_shift,
		const struct dcn10_dwbc_mask *dwbc_mask,
		int inst);

#endif

#endif


k-slider-horizontal .k-label, .k-slider-horizontal.k-slider[dir="rtl"] .k-label, [dir="rtl"] .k-slider-horizontal.k-slider .k-label, .k-slider-horizontal.k-slider.k-rtl .k-label, .k-rtl .k-slider-horizontal.k-slider .k-label {
    transform: translateX(50%);
}

.k-slider kendo-resize-sensor {
    position: absolute;
}

.k-slider-horizontal .k-slider-wrap:not(.k-slider-buttons) {
    padding-inline-start: calc( 14px / 2);
    padding-inline-end: calc( 14px / 2);
}

.k-slider-vertical .k-slider-wrap:not(.k-slider-buttons) {
    padding-top: calc( 14px / 2);
    padding-bottom: calc( 14px / 2);
}

.k-slider {
    color: #424242;
}

.k-slider .k-slider-track,
.k-slider .k-slider-selection {
    border-radius: 4px;
}

.k-slider .k-slider-track {
    background-color: #ebebeb;
}

.k-slider .k-slider-selection {
    background-color: #ff6358;
}

.k-slider .k-draghandle {
    border-color: #ff6358;
    color: white;
    background-color: #ff6358;
    border-radius: 50%;
}

.k-slider .k-draghandle:hover {
    border-color: #ff6358;
    background-color: #f55f54;
}

.k-slider .k-draghandle:active, .k-slider .k-draghandle.k-pressed {
    border-color: #e0574d;
    background-color: #e0574d;
}

.k-slider .k-draghandle:focus, .k-slider .k-draghandle.k-focus {
    box-shadow: 0 0 0 2px rgba(255, 99, 88, 0.3);
}

.k-slider.k-focus .k-draghandle {
    box-shadow: 0 0 0 2px rgba(255, 99, 88, 0.3);
}

.k-slider-horizontal .k-tick {
    background-image: url(data:image/gif;base64,R0lGODlhAQC0AIABALi4uAAAACH5BAEAAAEALAAAAAABALQAAAIWjIGJxqzazlux2ovlzND2rAHgSIZWAQA7);
}

.k-slider-vertical .k-tick {
    background-image: url(data:image/gif;base64,R0lGODlhtAABAIABALi4uAAAACH5BAEAAAEALAAAAAC0AAEAAAIWjIGJxqzazlux2ovlzND2rAHgSIZWAQA7);
}

.k-calendar {
    inline-size: var(--INTERNAL--kendo-calendar-width, min-content);
    block-size: var(--INTERNAL--kendo-calendar-height, min-content);
    border-width: 1px;
    border-style: solid;
    box-sizing: border-box;
    outline: 0;
    font-family: inherit;
    font-size: 14px;
    line-height: 1.4285714286;
    position: relative;
    overflow: hidden;
    display: inline-flex;
    flex-flow: column nowrap;
    user-select: none;
    -webkit-touch-callout: none;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.k-calendar > .k-calendar {
    border: 0;
}

.k-calendar-table {
    margin-block: 0;
    margin-inline: auto;
    border-width: 0;
    border-color: inherit;
    border-spacing: 0;
    border-collapse: separate;
    table-layout: fixed;
    text-


size:1.16em;text-align:center;border:1px solid #cad3db;background:#f3f7fa}.empty p,.copy .empty p,.explain p{margin:0;padding:0 0 5px 0;line-height:150%}.empty a.button,.empty input[type="submit"],.copy .empty a.button,.copy .empty input[type="submit"],.explain a.button,.explain input[type="submit"]{font-size:0.78em;display:inline-block;margin-bottom:5px}.empty input[type="submit"],.copy .empty input[type="submit"],.explain input[type="submit"]{padding:5px 10px 6px 10px}.explain{text-align:left;padding:15px}.explain p{margin:0.5em 0}.rating ul,.rating ul a:hover,.rating ul a:active,.rating ul a:focus{background:transparent url(http://160.111.248.28/assets/v2/icon_stars-e8ce102fea5a37bed29c243b53e356b2.png) 0 100% repeat-x}.rating ul{float:left;position:relative;width:80px;height:13px;overflow:hidden;list-style:none;background-position:0 0}.rating ul li{display:inline}.rating ul li.current_rating_1{position:absolute;top:0;left:0;height:13px;font-size:0;text-indent:-8685px;overflow:hidden;width:20%;background:transparent url(http://160.111.248.28/assets/v2/icon_stars-e8ce102fea5a37bed29c243b53e356b2.png) 0 -26px repeat-x}.rating ul li.current_rating_2{position:absolute;top:0;left:0;height:13px;font-size:0;text-indent:-8685px;overflow:hidden;width:40%;background:transparent url(http://160.111.248.28/assets/v2/icon_stars-e8ce102fea5a37bed29c243b53e356b2.png) 0 -26px repeat-x}.rating ul li.current_rating_3{position:absolute;top:0;left:0;height:13px;font-size:0;text-indent:-8685px;overflow:hidden;width:60%;background:transparent url(http://160.111.248.28/assets/v2/icon_stars-e8ce102fea5a37bed29c243b53e356b2.png) 0 -26px repeat-x}.rating ul li.current_rating_4{position:absolute;top:0;left:0;height:13px;font-size:0;text-indent:-8685px;overflow:hidden;width:80%;background:transparent url(http://160.111.248.28/assets/v2/icon_stars-e8ce102fea5a37bed29c243b53e356b2.png) 0 -26px repeat-x}.rating ul li.current_rating_5{position:absolute;top:0;left:0;height:13px;font-size:0;text-indent:-8685px;overflow:hidden;width:100%;background:transparent url(http://160.111.248.28/assets/v2/icon_stars-e8ce102fea5a37bed29c243b53e356b2.png) 0 -26px repeat-x}.rating ul a{position:absolute;top:0;left:0;height:13px;font-size:0;text-indent:-8685px;overflow:hidden}.rating ul a:hover,.rating ul a:active,.rating ul a:focus{background-position:0 -26px}.rating ul a.star_1{width:20%;z-index:6}.rating ul a.star_2{width:40%;z-index:5}.rating ul a.star_3{width:60%;z-index:4}.ra


/>
- fixed allow edit module on front-end | Link

- fixed load modChrome style | Link

- set default num_columns on blog layout | Link

Version: 3.0.3 (10/09/2021)

Bug fixes for Joomla 4

- Improve front-end view and tag filter layout | Link

- Add class to improve style for the edit article view | Link

- Fixed: Missing icons on front-end view | Link

- Update style select field on template style settings | Link

- Remove caption library with Joomla 4 | Link

Version: 3.0.2 (31/08/2021)

- Fix issues for front-end edit of article and custom html module on Joomla 4

Version: 3.0.1 (27/08/2021)

- Bug fix for front-end edit on Joomla 4

Version: 3.0.0 (23/08/2021)

- Update for Joomla 4 compatibility

Version: 2.7.7 (25/05/2021)

Update to compatible with php8

- Got error major in backend templates | Link

- Got error 'params' on the fontend when create menu item type = categoy list | Link

- Can not create menu with menu item type = featured contacts | Link

- Got error on the frontend when enabled Development mode in backend template | Link

- Can not show ThemeMagic preview in backend template | <a href="https://github.com/t3framework/t3/commit/f9727


a0, $a1
	subu $v1, $a0, $v1
	sgtz $v1, $v1
	ins $s5, $v1, SR_C_SHIFT, 1
	ins $s5, $v1, SR_X_SHIFT, 1
.endm

/*-----------------------------------------------------------------------*/

/**
 * SETCC_NZVC_SUB, SETCC_XNZVC_SUB:  Set the condition codes for a SUB
 * operation (excluding or including the X flag) based on the values in the
 * op1, op2, and result registers.
 */
.macro SETCC_NZVC_SUB nbits
	.if \nbits == 8
		SETCC_NZ_B $v0
	.else
	.if \nbits == 16
		SETCC_NZ_W $v0
	.else
		SETCC_NZ_L $v0
	.endif
	.endif
	xor $a0, $s3, $t7
	xor $a1, $v0, $t7
	and $v1, $a0, $a1
	ext $v1, $v1, \nbits-1, 1
	ins $s5, $v1, SR_V_SHIFT, 1
	ext $a0, $s3, \nbits-1, 1
	ext $a1, $t7, \nbits-1, 1
	ext $v1, $v0, \nbits-1, 1
	subu $a0, $a0, $a1
	addu $v1, $a0, $v1
	sgtz $v1, $v1
	ins $s5, $v1, SR_C_SHIFT, 1
.endm

.macro SETCC_XNZVC_SUB nbits
	SETCC_NZVC_SUB \nbits
	ins $s5, $v1, SR_X_SHIFT, 1
.endm

/*-----------------------------------------------------------------------*/

/**
 * SETCC_XNZVC_SUBX:  Set the condition codes for a SUBX operation based on
 * the values in the op1, op2, and result registers.
 */
.macro SETCC_XNZVC_SUBX nbits
	ext $v1, $v0, \nbits-1, 1
	ins $s5, $v1, SR_N_SHIFT, 1
	.if \nbits < 32
		ext $v1, $v0, 0, \nbits
		snez $v1, $v1
	.else
		snez $v1, $v0
	.endif
	sll $v1, $v1, SR_Z_SHIFT
	not $v1, $v1
	and $s5, $s5, $v1
	xor $a0, $s3, $t7
	xor $a1, $v0, $t7
	and $v1, $a0, $a1
	ext $v1, $v1, \nbits-1, 1
	ins $s5, $v1, SR_V_SHIFT, 1
	ext $a0, $s3, \nbits-1, 1
	ext $a1, $t7, \nbits-1, 1
	ext $v1, $v0, \nbits-1, 1
	subu $a0, $a0, $a1
	addu $v1, $a0, $v1
	sgtz $v1, $v1
	ins $s5, $v1, SR_C_SHIFT, 1
	ins $s5, $v1, SR_X_SHIFT, 1
.endm

/*************************************************************************/
/*************************** Local subroutines ***************************/
/*************************************************************************/

/**
 * UPDATE_SR:  Set the status register according to the value in $v0.
 */
UPDATE_SR:
	lw $a0, Q68State_irq($s0)  // Load early for IRQ check below
	xor $v1, $s5, $v0
	andi $v1, $v1, SR_S	// Change in S bit?
	beqz $v1, 1f
	andi $s5, $v0, 0xFFFF   // Zero-extend value into SR mirror register
	andi $v1, $v0, SR_S	// Which way did it change?
	beqz $v1, 0f
	lw $a0, A7
	lw $a1, SSP		// Into supervisor mode
	LOAD_DELAY_NOP
	sw $a0, USP
	j 1f
	sw $a1, A7
0:	lw $a1,


ur.Seconds()), 10)}
	return nil
}

func commonAddServiceAccount(r *http.Request, ldap bool) (context.Context, auth.Credentials, newServiceAccountOpts, madmin.AddServiceAccountReq, string, APIError) {
	ctx := r.Context()

	// Get current object layer instance.
	objectAPI := newObjectLayerFn()
	if objectAPI == nil || globalNotificationSys == nil {
		return ctx, auth.Credentials{}, newServiceAccountOpts{}, madmin.AddServiceAccountReq{}, "", errorCodes.ToAPIErr(ErrServerNotInitialized)
	}

	cred, owner, s3Err := validateAdminSignature(ctx, r, "")
	if s3Err != ErrNone {
		return ctx, auth.Credentials{}, newServiceAccountOpts{}, madmin.AddServiceAccountReq{}, "", errorCodes.ToAPIErr(s3Err)
	}

	password := cred.SecretKey
	reqBytes, err := madmin.DecryptData(password, io.LimitReader(r.Body, r.ContentLength))
	if err != nil {
		return ctx, auth.Credentials{}, newServiceAccountOpts{}, madmin.AddServiceAccountReq{}, "", errorCodes.ToAPIErrWithErr(ErrAdminConfigBadJSON, err)
	}

	var createReq madmin.AddServiceAccountReq
	if err = json.Unmarshal(reqBytes, &createReq); err != nil {
		return ctx, auth.Credentials{}, newServiceAccountOpts{}, madmin.AddServiceAccountReq{}, "", errorCodes.ToAPIErrWithErr(ErrAdminConfigBadJSON, err)
	}

	if createReq.Expiration != nil && !createReq.Expiration.IsZero() {
		// truncate expiration at the second.
		truncateTime := createReq.Expiration.Truncate(time.Second)
		createReq.Expiration = &truncateTime
	}

	// service account access key cannot have space characters beginning and end of the string.
	if hasSpaceBE(createReq.AccessKey) {
		return ctx, auth.Credentials{}, newServiceAccountOpts{}, madmin.AddServiceAccountReq{}, "", errorCodes.ToAPIErr(ErrAdminResourceInvalidArgument)
	}

	if err := createReq.Validate(); err != nil {
		// Since this validation would happen client side as well, we only send
		// a generic error message here.
		return ctx, auth.Credentials{}, newServiceAccountOpts{}, madmin.AddServiceAccountReq{}, "", errorCodes.ToAPIErr(ErrAdminResourceInvalidArgument)
	}
	// If the request did not set a TargetUser, the service account is
	// created for the request sender.
	targetUser := createReq.TargetUser
	if targetUser == "" {
		targetUser = cred.AccessKey
	}

	description := createReq.Description
	if description == "" {
		description = createReq.Comment
	}
	opts := newServiceAccountOpts{
		accessKey:   createReq.AccessKey,
		secretKey:   createReq.SecretKey,
		name:        createReq.Name,
		description: description,
		expiration:  createReq.Expiration,
		claims:      make(map[string]any),
	}

	condValues := getConditionValues(r, "", cred)
	err = addExpirationToCondValues(createReq.Expiration, condValues)
	if err != nil {
		return ctx, auth.Credentials{}, newServiceAccountOpts{}, madmin.AddServiceAccountReq{}, "", toAdminAPIErr(ctx, err)
	}

	denyOnly := (targetUser == cred.AccessKey || targetUser == cred.ParentUser)
	if ldap && !denyOnly {
		res, _ := globalIAMSys.LDAPConfig.GetValidatedDNForUsername(targetUser)
		if res != nil && res.NormDN == cred.ParentUser {
			denyOnly = true
		}
	}

	// Check if action is allowed if creating access key for another user
	// Check if action is explicitly denied if for self
	if !globalIAMSys.IsAllowed(policy.Args{
		AccountName:     cred.AccessKey,
		Groups


public TerminalNode RCURLY() { return getToken(Cypher25Parser.RCURLY, 0); }
		public RegularQueryContext regularQuery() {
			return getRuleContext(RegularQueryContext.class,0);
		}
		public PatternListContext patternList() {
			return getRuleContext(PatternListContext.class,0);
		}
		public MatchModeContext matchMode() {
			return getRuleContext(MatchModeContext.class,0);
		}
		public WhereClauseContext whereClause() {
			return getRuleContext(WhereClauseContext.class,0);
		}
		public ExistsExpressionContext(ParserRuleContext parent, int invokingState) {
			super(parent, invokingState);
		}
		@Override public int getRuleIndex() { return RULE_existsExpression; }
	}

	public final ExistsExpressionContext existsExpression() throws RecognitionException {
		ExistsExpressionContext _localctx = new ExistsExpressionContext(_ctx, getState());
		enterRule(_localctx, 248, RULE_existsExpression);
		int _la;
		try {
			enterOuterAlt(_localctx, 1);
			{
			setState(1828);
			match(EXISTS);
			setState(1829);
			match(LCURLY);
			setState(1838);
			_errHandler.sync(this);
			switch ( getInterpreter().adaptivePredict(_input,181,_ctx) ) {
			case 1:
				{
				setState(1830);
				regularQuery();
				}
				break;
			case 2:
				{
				setState(1832);
				_errHandler.sync(this);
				switch ( getInterpreter().adaptivePredict(_input,179,_ctx) ) {
				case 1:
					{
					setState(1831);
					matchMode();
					}
					break;
				}
				setState(1834);
				patternList();
				setState(1836);
				_errHandler.sync(this);
				_la = _input.LA(1);
				if (_la==WHERE) {
					{
					setState(1835);
					whereClause();
					}
				}

				}
				break;
			}
			setState(1840);
			match(RCURLY);
			}
		}
		catch (RecognitionException re) {
			_localctx.exception = re;
			_errHandler.reportError(this, re);
			_errHandler.recover(this, re);
		}
		finally {
			exitRule();
		}
		return _localctx;
	}

	@SuppressWarnings("CheckReturnValue")
	public static class CountExpressionContext extends org.neo4j.cypher.internal.parser.AstRuleCtx {
		public TerminalNode COUNT() { return getToken(Cypher25Parser.COUNT, 0); }
		public TerminalNode LCURLY() { return getToken(Cypher25Parser.LCURLY, 0); }
		public TerminalNode RCURLY() { return getToken(Cypher25Parser.RCURLY, 0); }
		public RegularQueryContext regularQuery() {
			return getRuleContext(RegularQueryContext.class,0);
		}
		public PatternListContext patternList() {
			return getRuleContext(PatternListContext.class,0);
		}
		public MatchModeContext matchMode() {
			return getRuleContext(MatchModeContext.class,0);
		}
		public WhereClauseContext whereClause() {
			return getRuleContext(WhereClauseContext.class,0);
		}
		public CountExpressionContext(ParserRuleContext parent, int invokingState) {
			super(parent, invokingState);
		}
		@Override public int getRuleIndex() { return RULE_countExpression; }
	}

	public final CountExpressionContext countExpression() throws RecognitionException {
		CountExpressionContext _localctx = new CountExpressionContext(_ctx, getState());
		enterRule(_localctx, 250, RULE_countExpression);
		int _l


(sStorePattern, ISync_sParse_type, "%3");

			if (tonumber(sParseLink) and tonumber(sParseLink) ~= tonumber(sWL)) then
				return nil;
			end

		end

--------------------------------------
--------------------------------------

--Check Weapon Type
--------------------------------------
--------------------------------------

		if(sWT > 0) then

			--get id
			sParseLink = nil; --reset
			sParseLink = string.gsub(sStorePattern, ISync_sParse_type, "%4");

			if ( tonumber(sParseLink) and tonumber(sParseLink) ~= tonumber(sWT)) then
				return nil;
			end

		end

--------------------------------------
--------------------------------------

--Check Tradeskill
--------------------------------------
--------------------------------------

		if(sTS > 0) then

			--get id
			sParseLink = nil; --reset
			sParseLink = string.gsub(sStorePattern, ISync_sParse_type, "%5");

			if ( tonumber(sParseLink) and tonumber(sParseLink) ~= tonumber(sTS)) then
				return nil;
			end

		end

--------------------------------------
--------------------------------------

--Check Armor Type
--------------------------------------
--------------------------------------

		if(sAT > 0) then

			--get id
			sParseLink = nil; --reset
			sParseLink = string.gsub(sStorePattern, ISync_sParse_type, "%6");

			if ( tonumber(sParseLink) and tonumber(sParseLink) ~= tonumber(sAT)) then
				return nil;
			end

		end

--------------------------------------
--------------------------------------

--Check Shield Type
--------------------------------------
--------------------------------------

		if(sST > 0) then

			--get id
			sParseLink = nil; --reset
			sParseLink = string.gsub(sStorePattern, ISync_sParse_type, "%7");

			if ( tonumber(sParseLink) and tonumber(sParseLink)~= tonumber(sST)) then
				return nil;
			end

		end

--------------------------------------
--------------------------------------

--Check Level
-------------------------


33px;bottom:634px;letter-spacing:3.3px;}
#t2y_199{left:448px;bottom:634px;}
#t2z_199{left:463px;bottom:634px;letter-spacing:3.3px;word-spacing:-3.3px;}
#t30_199{left:492px;bottom:634px;}
#t31_199{left:497px;bottom:634px;letter-spacing:2.2px;word-spacing:-2.2px;}
#t32_199{left:531px;bottom:634px;}
#t33_199{left:537px;bottom:634px;}
#t34_199{left:542px;bottom:634px;letter-spacing:6.6px;word-spacing:-6.6px;}
#t35_199{left:563px;bottom:634px;letter-spacing:3.3px;word-spacing:-3.3px;}
#t36_199{left:584px;bottom:634px;}
#t37_199{left:601px;bottom:634px;}
#t38_199{left:172px;bottom:610px;}
#t39_199{left:182px;bottom:610px;}
#t3a_199{left:188px;bottom:610px;letter-spacing:2.5px;}
#t3b_199{left:203px;bottom:610px;}
#t3c_199{left:208px;bottom:610px;letter-spacing:-5.5px;}
#t3d_199{left:216px;bottom:610px;letter-spacing:2px;word-spacing:-2px;}
#t3e_199{left:259px;bottom:610px;}
#t3f_199{left:265px;bottom:610px;letter-spacing:1.7px;}
#t3g_199{left:288px;bottom:610px;}
#t3h_199{left:293px;bottom:610px;}
#t3i_199{left:298px;bottom:610px;}
#t3j_199{left:302px;bottom:610px;}
#t3k_199{left:308px;bottom:610px;}
#t3l_199{left:315px;bottom:610px;letter-spacing:5.1px;word-spacing:-5.1px;}
#t3m_199{left:332px;bottom:610px;letter-spacing:2.5px;word-spacing:-2.5px;}
#t3n_199{left:366px;bottom:610px;}
#t3o_199{left:370px;bottom:610px;}
#t3p_199{left:383px;bottom:610px;}
#t3q_199{left:393px;bottom:610px;letter-spacing:1.4px;word-spacing:-1.4px;}
#t3r_199{left:436px;bottom:610px;letter-spacing:3.8px;word-spacing:-3.8px;}
#t3s_199{left:471px;bottom:610px;}
#t3t_199{left:495px;bottom:610px;}
#t3u_199{left:499px;bottom:610px;}
#t3v_199{left:505px;bottom:610px;letter-spacing:2.6px;word-spacing:-2.6px;}
#t3w_199{left:539px;bottom:610px;}
#t3x_199{left:544px;bottom:610px;}
#t3y_199{left:550px;bottom:610px;}
#t3z_199{left:554px;bottom:610px;letter-spacing:2.5px;word-spacing:-2.5px;}
#t40_199{left:577px;bottom:610px;}
#t41_199{left:582px;bottom:610px;}
#t42_199{left:593px;bottom:610px;}
#t43_199{left:608px;bottom:610px;}
#t44_199{left:607px;bottom:535px;}
#t45_199{left


field to MANAGEMENT_MANUAL or MANAGEMENT_UNSPECIFIED to disable Config Sync auto-upgrades. Possible values: ["MANAGEMENT_UNSPECIFIED", "MANAGEMENT_AUTOMATIC", "MANAGEMENT_MANUAL"]
        /// </summary>
        public readonly string Management;
        /// <summary>
        /// Version of Config Sync installed
        /// </summary>
        public readonly string Version;

        [OutputConstructor]
        private GetFeatureFleetDefaultMemberConfigConfigmanagementResult(
            ImmutableArray<Outputs.GetFeatureFleetDefaultMemberConfigConfigmanagementConfigSyncResult> configSyncs,

            string management,

            string version)
        {
            ConfigSyncs = configSyncs;
            Management = management;
            Version = version;
        }
    }
}


                   "Télécharger la musique de fond"
FRENCH["YES"] =                                     "Oui"
FRENCH["NO"] =                                      "Non"
FRENCH["GAMEID"] =                                  "GAMEID : "
FRENCH["CURRENT"] =                                 "Actuel : "

FRENCH["SYSTEM_ERROR"] =                            "Erreur système"
FRENCH["SYSTEM_ERROR_REPO"] =                       "Veuillez signaler cette erreur sur le dépot GitHub de ONElua/AutoPlugin2"
FRENCH["SYSTEM_ERROR_FIX"] =                        "Ou corrigez l'erreur dans la ligne de texte du fichier située au chemin mentionné ci-dessus (ux0:path/file.lua:line number)"
FRENCH["ERROR_LOADING_FILE"] =                      "Erreur de chargement du fichier"
FRENCH["DOWNLOAD_PLUGINS"] =                        "Téléchargement de la base de données des plugins"


1.5);}
    100% {transform: scale(1);}
}:root{--bslib-bootstrap-version: 5;--bslib-preset-name: ;--bslib-preset-type: }/*!
   * Bootstrap  v5.3.1 (https://getbootstrap.com/)
   * Copyright 2011-2023 The Bootstrap Authors
   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
   */:root,[data-bs-theme="light"]{--bs-blue: #0d6efd;--bs-indigo: #6610f2;--bs-purple: #6f42c1;--bs-pink: #d63384;--bs-red: #dc3545;--bs-orange: #fd7e14;--bs-yellow: #ffc107;--bs-green: #198754;--bs-teal: #20c997;--bs-cyan: #0dcaf0;--bs-black: #000;--bs-white: #fff;--bs-gray: #6c757d;--bs-gray-dark: #343a40;--bs-gray-100: #f8f9fa;--bs-gray-200: #e9ecef;--bs-gray-300: #dee2e6;--bs-gray-400: #ced4da;--bs-gray-500: #adb5bd;--bs-gray-600: #6c757d;--bs-gray-700: #495057;--bs-gray-800: #343a40;--bs-gray-900: #212529;--bs-default: #dee2e6;--bs-primary: #0d6efd;--bs-secondary: #6c757d;--bs-success: #198754;--bs-info: #0dcaf0;--bs-warning: #ffc107;--bs-danger: #dc3545;--bs-light: #f8f9fa;--bs-dark: #212529;--bs-default-rgb: 222,226,230;--bs-primary-rgb: 13,110,253;--bs-secondary-rgb: 108,117,125;--bs-success-rgb: 25,135,84;--bs-info-rgb: 13,202,240;--bs-warning-rgb: 255,193,7;--bs-danger-rgb: 220,53,69;--bs-light-rgb: 248,249,250;--bs-dark-rgb: 33,37,41;--bs-primary-text-emphasis: #052c65;--bs-secondary-text-emphasis: #2b2f32;--bs-success-text-emphasis: #0a3622;--bs-info-text-emphasis: #055160;--bs-warning-text-emphasis: #664d03;--bs-danger-text-emphasis: #58151c;--bs-light-text-emphasis: #495057;--bs-dark-text-emphasis: #495057;--bs-primary-bg-subtle: #cfe2ff;--bs-secondary-bg-subtle: #e2e3e5;--bs-success-bg-subtle: #d1e7dd;--bs-info-bg-subtle: #cff4fc;--bs-warning-bg-subtle: #fff3cd;--bs-danger-bg-subtle: #f8d7da;--bs-light-bg-subtle: #fcfcfd;--bs-dark-bg-subtle: #ced4da;--bs-primary-border-subtle: #9ec5fe;--bs-secondary-border-subtle: #c4c8cb;--bs-success-border-subtle: #a3cfbb;--bs-info-border-subtle: #9eeaf9;--bs-warning-border-subtle: #ffe69c;--bs-danger-border-subtle: #f1aeb5;--bs-light-border-subtle: #e9ecef;--bs-dark-border-subtle: #adb5bd;--bs-white-rgb: 255,255,255;--bs-black-rgb: 0,0,0;--bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica


yǒu lǐ",
	"言之有物":       "yán zhī yǒu wù",
	"言之有序":       "yán zhī yǒu xù",
	"言中事隐":       "yán zhōng shì yǐn",
	"言重九鼎":       "yán zhòng jiǔ dǐng",
	"岩居川观":       "yán jū chuān guān",
	"岩居穴处":       "yán jū xué chǔ",
	"岩栖谷隐":       "yán qī gǔ yǐn",
	"岩栖谷饮":       "yán qī gǔ yǐn",
	"岩栖穴处":       "yán qī xué chǔ",
	"沿条儿":        "yán tiáo ér",
	"炎黄子孙":       "yán huáng zǐ sūn",
	"炎凉世态":       "yán liáng shì tài",
	"研机综微":       "yán jī zōng wēi",
	"研京练都":       "yán jīng liàn dōu",
	"研经铸史":       "yán jīng zhù shǐ",
	"研精毕智":       "yán jīng bì zhì",
	"研精阐微":       "yán jīng chǎn wēi",
	"研精殚力":       "yán jīng dān lì",
	"研精殚思":       "yán jīng dān sī",
	"研精钩深":       "yán jīng gōu shēn",
	"研精究微":       "yán jīng jiū wēi",
	"研精竭虑":       "yán jīng jié lǜ",
	"研精苦思":       "yán jīng kǔ sī",
	"研精覃思":       "yán jīng tán sī",
	"研精致思":       "yán jīng zhì sī",
	"研究生":        "yán jiū shēng",
	"研究所":        "yán jiū suǒ",
	"研究员":        "yán jiū yuán",
	"研桑心计":       "yán sāng xīn jì",
	"盐碱地":        "yán jiǎn dì",
	"盐梅相成":       "yán méi xiāng chéng",
	"颜丹鬓绿":       "yán dān bìn lǜ",
	"颜骨柳筋":       "yán gǔ liǔ jīn",
	"颜筋柳骨":       "yán jīn liǔ gǔ",
	"颜精柳骨":       "yán jīng liǔ gǔ",
	"颜面扫地":       "yán miàn sǎo dì",
	"奄奄一息":       "yǎn yǎn yī xī",
	"俨乎其然":       "yǎn hū qí rán",
	"偃革倒戈":       "yǎn gé dǎo gē",
	"偃革为轩":       "yǎn gé wéi xuān",
	"偃旗仆鼓":       "yǎn qí pú gǔ",
	"偃武兴文":       "yǎn wǔ xīng wén",
	"偃武行文":       "


))
  lu.assertFalse(tg_net_utils.isAddrLinkLocal("1001::1/128"))
  lu.assertFalse(tg_net_utils.isAddrLinkLocal("ff02::1"))

  lu.assertTrue(tg_net_utils.isAddrLinkLocal("fe80::beef:dead:fefe:cafe"))
end

os.exit(lu.LuaUnit.run("-v"))


orm.cleaned_data['last_name'],
			'email': form.cleaned_data['email_address'],
			'message':form.cleaned_data['message'],
			}
			message = "\n".join(body.values())

			try:
				send_mail(subject, message, 'admin@example.com', ['admin@example.com'])
			except BadHeaderError:
				return HttpResponse('Invalid header found.')
			return redirect ("home")                                            # redirect to homepage after succesful sending

	form = ContactForm()
	return render(request, "pages/kontakt.html", {'form':form})                 #POST filled out contact form, render komtakt.html

def impressum_page_view(request):
    return render(request, "pages/impressum.html")

def datenschutz_page_view(request):
    return render(request, "pages/datenschutz.html")


markup = `

…

`;

    this.innerHTML = markup;

    this._refs = {
      container: this.querySelector('.ms-Tabs'),
      links: this.querySelector('.ms-Tabs-links'),
      ellipsis: this.querySelector('.ms-Tabs-link.ms-Tabs-ellipsis')
    }
  }

  private __setProperties(property?: string) {

    // console.log('__setProperties', property, this[property]);

    if (!this._refs || !this._refs.container) return;

    if (property == null || property === 'tabs') { this._refs.container.classList[(this._tabs) ? 'add' : 'remove']('ms-Tabs--tabs') }
    if (property == null || property === 'large') { this._refs.container.classList[(this._large) ? 'add' : 'remove']('ms-Tabs--large') }
    if ((property == null || property === 'ellipsis') && this._refs.ellipsis) { this._refs.ellipsis.classList[(this._ellipsis) ? 'remove' : 'add']('hidden') }

    if (property == null || property === 'selected') {
      // Unselect previous
      let previous = (this._refs.links) ? this._refs.links.querySelector('.is-selected') : null;
      if (previous) previous.classList.remove('is-selected');

      // Select new
      let selection = (this._refs.links) ? this._refs.links.querySelector('[data-content="' + this._selected + '"]') : null;
      if (selection) selection.classList.add('is-selected');
    }

    if (property == null || property === 'links') {

      if (!Array.isArray(this._links) || this._links.length == 0) return;

      // Clear links container
      let previousLinks = (this._refs.links) ? this._refs.links.querySelectorAll('.ms-Tabs-link:not(.ms-Tabs-ellipsis)') : [];
      if (this._refs.links && previousLinks && previousLinks.length > 0) {
        //@ts-ignore
        [].forEach.call(previousLinks, (entry) => {
          //@ts-ignore
          this._refs.links.removeChild(entry);
        });
      }

      // Insert nodes
      var li = null;
      //@ts-ignore
      [].concat(this.links).forEach(entry => {
        li = document.createElement('LI');
        li.tabIndex = 1;
        li.classList.add('ms-Tabs-link');
        li.title = li.textContent = (<IFabricTabLink>entry).text || '';
        li.dataset.content = (<IFabricTabLink>entry).name || '';
        if ((<IFabricTabLink>entry).disabled === true) li.classList.add('is-disabled');
        if ((<IFabricTabLink>entry).name === this.selected) li.classList.add('is-selected');

        if (this._refs.links) this._refs.links.insertBefore(li, this._refs.ellipsis);
      });

    }
  }

  private __addListeners() {

    if (this._refs.links)
      this._refs.links.addEventListener('click', (event: MouseEvent) => {

        console.log('clicked');

        //@ts-ignore
        if (!event.target || !event.target.tagName.toLowerCase() === 'li') return;
        //@ts-ignore
        if (event.target.classList.contains('is-disabled')) return;
        //@ts-ignore
        const selected = event.target.dataset.content;
        if (!selected) return;

        this.selected = selected;

      });
  }

  static get observedAttributes()


CountController.setVideoCount(numberOfVideos);
    logInfo('[Utils.updateVideoCount()] - Video count updated to $numberOfVideos');
  }

  /// Get a filtered list of mp4 files names ordered by date to be written on a txt file
  /// To get all videos, use `ExportDateRange.allTime`
  static List<String> getSelectedVideosFromStorage(ExportDateRange exportDateRange) {
    final now = DateTime.now();
    final List<String> allVideos = [];

    /// We use the properties of `now` instead of just calling `DateTime.now()` because we want to offset from the current date at a little past midnight
    /// Not doing this causes incorrect results in some scenarios
    final today = DateTime(now.year, now.month, now.day, 0, 1);

    try {
      final allFiles = getAllVideos();

      // Converting to Date in order to sort
      final List<DateTime> allDates = [];
      for (int i = 0; i < allFiles.length; i++) {
        allDates.add(DateTime.parse(allFiles[i]));
      }

      switch (exportDateRange) {
        case ExportDateRange.last7Days:
          final last7Days = today.subtract(const Duration(days: 7));
          for (int i = 0; i < allDates.length; i++) {
            allDates.removeWhere((e) => e.isBefore(last7Days));
          }
          break;
        case ExportDateRange.last30Days:
          final last30Days = today.subtract(const Duration(days: 30));
          for (int i = 0; i < allDates.length; i++) {
            allDates.removeWhere((e) => e.isBefore(last30Days));
          }
          break;
        case ExportDateRange.last60Days:
          final last60Days = today.subtract(const Duration(days: 60));
          for (int i = 0; i < allDates.length; i++) {
            allDates.removeWhere((e) => e.isBefore(last60Days));
          }
          break;
        case ExportDateRange.last90Days:
          final last90Days = today.subtract(const Duration(days: 90));
          for (int i = 0; i < allDates.length; i++) {
            allDates.removeWhere((e) => e.isBefore(last90Days));
          }
          break;
        case ExportDateRange.thisMonth:
          for (int i = 0; i < allDates.length; i++) {
            // Retains all the dates from the beginning of the month until the current date
            allDates.retainWhere(
              (e) => e.compareTo(DateTime(now.year, now.month)) >= 0 && e.compareTo(now) <= 0,
            );
          }
          break;
        case ExportDateRange.thisYear:
          for (int i = 0; i < allDates.length; i++) {
            // Retains all the dates from the start of the year until the current date within the year
            allDates.retainWhere(
              (e) => e.compareTo(DateTime(now.year)) >= 0 && e.compareTo(now) <= 0,
            );
          }
          break;
        case ExportDateRange.lastYear:
          for (int i = 0; i < allDates.length; i++) {
            // Retains all the dates from the start to the end of the previous year
            allDates.retainWhere(
              (e) =>
                  e.compareTo(DateTime(now.year - 1)) >= 0 && e.compareTo(DateTime(now.year)) < 0,
            );
          }
          break;
        case ExportDateRange.custom:
        case ExportDateRange.allTime:
        default:
        // Nothing else needs to be done here
      }

      final List<DateTime> orderedDates = DateFormatUtils.orderDates(allDates);

      // Converting back to string
      for (int i = 0; i < orderedDates.length; i++) {
        // Adding a


(1);
      await tests.helpers.environmentLogBodyContains(
        `${str.slice(0, -1)}\n\n-------- BODY HAS BEEN TRUNCATED --------`
      );
    });
  });

  describe('Faker.js', () => {
    const tests = new Tests('settings');
    tests.runHooks();

    it('Verify Faker.js initial settings', async () => {
      // wait for settings save
      await tests.app.client.pause(2000);
      await tests.helpers.verifyObjectPropertyInFile(
        './tmp/storage/settings.json',
        'fakerSeed',
        null
      );
      await tests.helpers.verifyObjectPropertyInFile(
        './tmp/storage/settings.json',
        'fakerLocale',
        'en'
      );
    });

    it('Change Faker.js settings and verify persistence', async () => {
      await tests.helpers.openSettingsModal();
      await tests.app.client.element(fakerSeedInput).setValue('1234');
      await tests.app.client.selectByValue(fakerLocaleSelect, 'en_US');
      await tests.helpers.closeModal();

      // wait for settings save
      await tests.app.client.pause(2000);
      await tests.helpers.verifyObjectPropertyInFile(
        './tmp/storage/settings.json',
        'fakerLocale',
        'en_US'
      );
      await tests.helpers.verifyObjectPropertyInFile(
        './tmp/storage/settings.json',
        'fakerSeed',
        1234
      );
    });
  });
});
import { Injectable } from '@nestjs/common';
import { TweetsDto } from '../dto/tweets-dto';
import { TweetsInputDto } from '../dto/tweets-input-dto';
import { TweetModel } from './tweet.model';

interface tweetsRepo {
    [profileId: string]: {
        tweets: Set<TweetsDto>
    }
}

@Injectable()
export class TweetsRepo {
    tweetsRepo: tweetsRepo = {};

    public async getTweets(profileId: string): Promise<Array<TweetsDto>> {
        const profile = await TweetModel.findOrCreate(profileId);
        return profile.tweets;
    }

    public async getTweet(profileId: string, tweetId): Promise<TweetsDto> {
        const profile = await TweetModel.findOrCreate(profileId);
        const tweet = profile.getTweet(tweetId);
        return tweet;
    }

    public async addTweet(profileId: string, content: string, parentId: string): Promise<TweetsDto> {
        const tweet = new TweetsDto();
        tweet.content = content;
        tweet.id = this.generateGuid();
        tweet.date = new Date();
        tweet.profileId = profileId;
        tweet.parentId = parentId;

        const profile = await TweetModel.findOrCreate(profileId);
        await profile.addTweet(tweet);
        return tweet;
    }

    public async removeTweet(profileId: string, tweetId: string): Promise<TweetsDto> {
        const profile = await TweetModel.findOrCreate(profileId);
        const tweet = await profile.removeTweet(tweetId);
        return tweet;
    }

    public updateTweet(profileId: string, tweetId: string, content: string): TweetsDto {
        this.init(profileId);
        const userTweets = this.tweetsRepo[profileId].tweets;
        const tweet = this.findTweet(userTweets, tweetId);
        tweet.content = content;
        return tweet;
    }

    private findTweet(tweets: Set<Tw


on enables NodeOUs but the administrator does not carry
	// any valid NodeOUS. Therefore MSP initialization must fail
	thisMSP, err := getLocalMSPWithVersionAndError(t, "testdata/nodeous1", MSPv1_1)
	assert.True(t, thisMSP.(*bccspmsp).ouEnforcement)
	assert.Error(t, err)

	// MSPv1_0 should not fail
	thisMSP, err = getLocalMSPWithVersionAndError(t, "testdata/nodeous1", MSPv1_0)
	assert.False(t, thisMSP.(*bccspmsp).ouEnforcement)
	assert.NoError(t, err)
}

func TestInvalidSigningIdentityNodeOU(t *testing.T) {
	// testdata/nodeous2:
	// the configuration enables NodeOUs but the signing identity does not carry
	// any valid NodeOUS. Therefore signing identity validation should fail
	thisMSP := getLocalMSPWithVersion(t, "testdata/nodeous2", MSPv1_1)
	assert.True(t, thisMSP.(*bccspmsp).ouEnforcement)

	id, err := thisMSP.GetDefaultSigningIdentity()
	assert.NoError(t, err)

	err = id.Validate()
	assert.Error(t, err)

	// MSPv1_0 should not fail
	thisMSP, err = getLocalMSPWithVersionAndError(t, "testdata/nodeous1", MSPv1_0)
	assert.False(t, thisMSP.(*bccspmsp).ouEnforcement)
	assert.NoError(t, err)

	id, err = thisMSP.GetDefaultSigningIdentity()
	assert.NoError(t, err)

	err = id.Validate()
	assert.NoError(t, err)
}

func TestValidMSPWithNodeOU(t *testing.T) {
	// testdata/nodeous3:
	// the configuration enables NodeOUs and admin and signing identity are valid
	thisMSP := getLocalMSPWithVersion(t, "testdata/nodeous3", MSPv1_1)
	assert.True(t, thisMSP.(*bccspmsp).ouEnforcement)

	id, err := thisMSP.GetDefaultSigningIdentity()
	assert.NoError(t, err)

	err = id.Validate()
	assert.NoError(t, err)

	// MSPv1_0 should not fail as well
	thisMSP = getLocalMSPWithVersion(t, "testdata/nodeous3", MSPv1_0)
	assert.False(t, thisMSP.(*bccspmsp).ouEnforcement)

	id, err = thisMSP.GetDefaultSigningIdentity()
	assert.NoError(t, err)

	err = id.Validate()
	assert.NoError(t, err)
}

func TestValidMSPWithNodeOUAndOrganizationalUnits(t *testing.T) {
	// testdata/nodeous6:
	// the configuration enables NodeOUs and OrganizationalUnits, and admin and signing identity are valid
	thisMSP := getLocalMSPWithVersion(t, "testdata/nodeous6", MSPv1_1)
	assert.True(t, thisMSP.(*bccspmsp).ouEnforcement)

	id, err := thisMSP.GetDefaultSigningIdentity()
	assert.NoError(t, err)

	err = id.Validate()
	assert.NoError(t, err)

	// MSPv1_0 should not fail as well
	thisMSP = getLocalMSPWithVersion(t, "testdata/nodeous6", MSPv1_0)
	assert.False(t, thisMSP.(*bccspmsp).ouEnforcement)

	id, err = thisMSP.GetDefaultSigningIdentity()
	assert.NoError(t, err)

	err = id.Validate()
	assert.NoError(t, err)
}

func TestInvalidMSPWithNodeOUAndOrganizationalUnits(t *testing.T) {
	// testdata/nodeous6:
	// the configuration enables NodeOUs and OrganizationalUnits,
	// and admin and signing identity are not valid because they don't have
	// OU_common in their OUs.
	thisMSP, err := getLocalMSPWithVersionAndError(t, "testdata/nodeous7", MSPv1_1)
	assert.True(t, thisMSP.(*bccspmsp).ouEnforcement