;@Extension.Container.Version.1 ;-- DO NOT CHANGE THE LINE ABOVE -- IF (VERSION.BUILD.BASE()<138311.) ( PRINTF %ERROR "%s: Software too old, please contact support@lauterbach.com." "Jailhouse" ENDDO ) PMACRO.EXPLICIT PRIVATE &sParamline &sPpf &sCmd &sParameters &sAccess &sAccessSpaces &sAccessMachine &sOptionAccess &sOptionAccessMisc &sName &sMachine &sArguments &nVariant PRIVATE &bTaskConfig &bExtLoad &bCleanup ENTRY &sCmd %LINE &sParamline &sParameters=STRing.SCANAndExtract("&sParamline","PARAMETERS=","") &sAccess=STRing.SCANAndExtract("&sParamline","ACCESS=","") &sAccessSpaces=STRing.SCANAndExtract("&sParamline","ACCESSSPACES=","") &sAccessMachine=STRing.SCANAndExtract("&sParamline","ACCESSMACHINE=","") &sName=STRing.SCANAndExtract("&sParamline","NAME=","") &sMachine=STRing.SCANAndExtract("&sParamline","MACHINE=","") &sArguments=STRing.SCANAndExtract("&sParamline","ARGUMENTS=","") &sParameters=STRing.Replace("&sParameters","""","",0.) IF ("&sArguments"!="") &sArguments=&sArguments IF ("&sAccess"!="") &sOptionAccess="/ACCESS &sAccess" IF ("&sAccessSpaces"!="") &sOptionAccessMisc="/ACCESSSPACES &sAccessSpaces" IF ("&sAccessMachine"!="") &sOptionAccessMisc="&(sOptionAccessMisc) /ACCESSMACHINE &sAccessMachine" &sName=STRing.Replace("&sName","""","",0.) &bTaskConfig=STRing.SCAN("task.config,ext.config",STRing.LoWeR("&sCmd"),0.)>=0. &bExtLoad=STRing.SCAN("ext.load",STRing.LoWeR("&sCmd"),0.)>=0. &bCleanup=STRing.SCAN("task.res,ext.res,ext.delete",STRing.LoWeR("&sCmd"),0.)>=0. &sPpf=OS.PresentPracticeFile() IF (&bTaskConfig||&bExtLoad) ( IF ("&nVariant"!="32.")&&("&nVariant"!="64.") ( IF CPUIS64BIT() &nVariant="64." ELSE &nVariant="32." ) IF STRing.ComPare("&sArguments","*32BIT*") &nVariant="32." ELSE IF STRing.ComPare("&sArguments","*64BIT*") &nVariant="64." ) IF (&bTaskConfig) ( PRIVATE &sMachineName &sMachineName="Jailhouse" TASK.RESet IF (&nVariant==32.) ( GOSUB extension_32bit "&sParameters" "&sOptionAccess" IF !STRing.Compare("&sArguments","*MENU=NONE*") GOSUB menu_32bit "&sMachineName" "" GOSUB autoload_32bit "" ) ELSE IF (&nVariant==64.) ( GOSUB extension_64bit "&sParameters" "&sOptionAccess" IF !STRing.Compare("&sArguments","*MENU=NONE*") GOSUB menu_64bit "&sMachineName" "" GOSUB autoload_64bit "" ) ) ELSE IF (&bExtLoad) ( PRIVATE &sMachineName &sInfix &sOptionName &sOptionMachine &sInfix="" &sMachineName="Jailhouse" IF ("&sName"!="") ( &sInfix=STRing.UPpeR("&(sName).") &sMachineName="&(sName)" &sOptionName="/NAME &sMachineName" ) ELSE IF PRACTICE.FUNCtion.AVAILable(SYStem.Option.MACHINESPACES) ( IF SYStem.Option.MACHINESPACES() &sInfix=TASK.TRANSPOSE.INFIX(OS.FILE.BASENAME("&sPpf",".**"))+"." ) IF ("&sMachine"!="") ( &sOptionMachine="/MACHINE &sMachine" ) IF (&nVariant==32.) ( GOSUB extension_32bit "&sParameters" "&sOptionAccess &sOptionAccessMisc &sOptionName &sOptionMachine" IF !STRing.Compare("&sArguments","*MENU=NONE*") GOSUB menu_32bit "&sMachineName" "&sInfix" GOSUB autoload_32bit "&sOptionMachine" ) ELSE IF (&nVariant==64.) ( GOSUB extension_64bit "&sParameters" "&sOptionAccess &sOptionAccessMisc &sOptionName &sOptionMachine" IF !STRing.Compare("&sArguments","*MENU=NONE*") GOSUB menu_64bit "&sMachineName" "&sInfix" GOSUB autoload_64bit "&sOptionMachine" ) ) ELSE IF (&bCleanup) ( PRIVATE &sMachineName &sOptionMachine &sMachineName="Jailhouse" IF ("&sName"!="") ( &sMachineName="&(sName)" ) IF ("&sMachine"!="") ( &sOptionMachine="/MACHINE &sMachine" ) GOSUB menu_delete "&sMachineName" GOSUB autoload_delete "&sOptionMachine" ) ENDDO extension_32bit: ; (options) ( PARAMETERS &sParameters &sOptions EXTension.LOAD &sParameters &sOptions ( VDMyTQAwMDMuMDAxQCgjKVRSQUNFMzIgY29uZmlndXJhdGlvbiBmaWxlIFYwMDMuMDAxIDogYXJt L2phaWxob3VzZQAAAAAAdGwAACwAZGwAAAd0ZGEABAAAZXAAAAAkaHMABJjIAABURVhUAAECAwAA ILAAACNQAAAAAAAAAAAAAAAAAAAAAAAAAABOgAAglCH/8HwIAqaQAQAUSAAGnUgAGG1IAA1dSAAM bUgAGOE8YAAAOGMD+EgAHtk8YAAAOGMErEgAHtk8YAAAOGMZSEgAHvE8YAAAOGMaDEgAHvE8YAAA OGMa4EgAHvE8YAAAOGMbPEgAHrU8YAAAOGMb4EgAHuU8YAAAOGMdSEgAHqk8YAAEOGMHZEgAH+2A AQAUfAgDpjghABBOgAAglCH/8HwIAqaQAQAUk+EADDxgAAA4YyNUSAAerT0gAASQaQf0PGAAADhj I2BIAB6ZPSAABJBpB/A8YAAAOGMjbEgAHoU9IAAEkGkH7DxgAAA4YyN4SAAeiTxgAAA4YyOESAAe cT0gAASQaQgYPGAAADhjI5BIAB5dPSAABJBpCHQ8YAAAOGMjmEgAHkk9IAAEkGkIUDxgAAA4YyOg SAAeNT0gAASQaQhMPGAAADhjI6xIAB4hPSAABJBpCGA8YAAAOGMjtEgAHhk8YAAAOGMj1EgAHgE9 IAAEkGkH+DxgAAA4YyPgSAAd+TxgAAA4YyP0SAAd4T0gAASQaQgQPGAAADhjI/hIAB3ZPGAAADhj JBRIAB3BPSAABJBpCDw/4AAAO/8kIH/j+3hIAB21PGAAADhjJDxIAB2dPSAABJBpCBw8YAAAOGMk REgAHYk9IAAEkGkIODxgAAA4YyRISAAddT0gAASQaQh4PGAAADhjJFxIAB1hPSAABJBpCCA8YAAA OGMkcEgAHU09IAAEkGkIVDxgAAA4YyR8SAAdOT0gAASQaQgAPGAAADhjJJBIAB0lPSAABJBpCGQ8 YAAAOGMkoEgAHRE9IAAEkGkIBDxgAAA4YySwSAAc/T0gAASQaQgkPGAAADhjJMBIABzpPSAABJBp CEg8YAAAOGMk1EgAHNU9IAAEkGkIDDxgAAA4YyToSAAczT0gAASQaQhcf+P7eEgAHL09IAAEkGkI NDxgAAA4YyUASAAcnT0gAASQaQhAPGAAADhjJRBIAByVPSAABJBpCAg8YAAAOGMlKEgAHHU9IAAE kGkIMDxgAAA4YyU0SAAcYT0gAASQaQgsPGAAADhjJUBIABxNPSAABJBpCFg8YAAAOGMlSEgAHDk9 IAAEkGkIKDxgAAA4YyVQSAAcMTxgAAA4YyVgSAAcGT0gAASQaQhEPGAAADhjJWhIABwRPGAAADhj JXhIABv5PSAABJBpCBQ8YAAAOGMlhEgAG+U9IAAEkGkIcDxgAAA4YyWQSAAb0T0gAASQaQhoPGAA ADhjJaBIABu9PSAABJBpB/w4YAAAgAEAFHwIA6aD4QAMOCEAEE6AACCUIf/wfAgCppABABST4QAM PGAAADhjJaxIABx9S//8rT0gAASD6Qf0LB8AAEGCAGCTwQAIP8AABH/j+3hIAAL5LAMAAECCACCA fghgfH8aFEgAG218fxt5QIL/4IPBAAhIAAAsPSAABIBpCFB8fxoUSAAbTT0gAASBKQg4fGNKFEgA Gz074wABg8EACH/k+3g8YAAAOGMlwEgAG/1/4/t4gAEAFHwIA6aD4QAMOCEAEE6AACCUIf/QfAgC ppABADR9gAAmk2EAHJPhACyRgQAIPGAAADhjJdxIABu9S//77ThgAAFIABsJfH8beD0gAASDaQf0 PSAABIBpCEx8exoUSAAavT0gAASBKQhEfGNKFEgAGq0sGwAAQYIBKJLhAAyTAQAQkyEAFJNBABiT gQAgk6EAJJPBACh8fht4O0AAAX9a+DA+4AAEPwAABH/9+3guHwAAO4AAAT8gAARIAAAgO+AAAEgA AHSAeQhgfHsaFEgAGk18ext5QYIArH9J8DlBgv/ogHcITHx7GhRIABoxgTgIRHxjShRIABolfH4b eH+k63hBkv+8OUAAADvgAAA5IAAgfSkDpn+JUDB9KfA4MSn//3//AZQ5SgABQkD/nHwK6ABAgv/k PGAAADhjJfBIABq1guEADIMBABCDIQAUg0EAGIOBACCDoQAkg8EAKH/j+3iAAQA0gYEACHwIA6aD YQAcg+EALH2AgSA4IQAwToAAIILhAAyDAQAQgyEAFINBABiDgQAgg6EAJIPBACg8YAAAOGMmDEgA Gk074AAAS///sJQh//B8CAKmkAEAFDxgAAA4YyPsSAAZzT0gAASQaQhsPGAAADhjBoSAAQAUfAgD pjghABBOgAAglCH/8HwIAqaQAQAUS//6MT0gAASBKQhsLAkAAECCACA8YAAEOGMAADhjABCAAQAU fAgDpjghABBOgAAgPGAABDhjAABL///olCH/8HwIAqaQAQAUPGAABDhjAAA4YwAgSAAYKYABABR8 CAOmOCEAEE6AACCUIf/wfAgCppABABQ9IAAEgSkH+HxjShRIABilfGMANFRj2X6AAQAUfAgDpjgh ABBOgAAglCH/8HwIAqaQAQAUk+EADHx/G3hL//+5LAMAAECCABiAAQAUfAgDpoPhAAw4IQAQToAA IJPBAAg4YAABSAAYfXx+G3g9IAAEgGkITHx/GhRIABg5fGkbeDlD//84YAAAOQD//XwKQEBAgQAM g8EACEv//7A9QAAEgGoIRHxpGhRIABgJOSAAAX0+8DB/3hg4MH7//3xj8RCDwQAIS///hJQh/+B8 CAKmkAEAJJOBABCToQAUk8EAGJPhABx8fBt4S///QSwDAABAggDsf4TjeDxgAAA4YyYsSAAYWTxg AAA4YyY4SAAYWX+E43g8YAAAOGMqaEgAF9FIABf9PSAABIBpCFB8fBoUSAAXgXx+G3g9IAAEgGkI OHx+GhRIABdtfH8beD+gAAA7vSZEfGQbeH+j63hIABeRSAAXvTifAAF/o+t4SAAXgUgAF609IAAE gGkIHHx+GhRIABclLAMAAECCAGAsHwAAQYIAcEgAF4k9IAAEgGkIGD0gAASBKQf4fGNKFHxj4hRI ABcBKAMAAkGCARQoAwACQYEAUCwDAABBggBgPGAAADhjJlhIABcZSAAAXDhgAAJIABcxS///ED0g AASAaQgcOIAAIHx+GhRIABcNS///mDxgAAA4YyZISAAW5Uv//4goAwADQIIAyDxgAAA4YyZ0SAAW zUgAABA8YAAAOGMmUEgAFr1IABbpPSAABIBpCEx8fBoUSAAWbTkj//85QP/9fAlQQECBAJxIABbF PSAABIBpCHQ9IAAEgSkIEHxjShQ9IAAEgSkIPHxjShR8Y+IUSAAWMXxkG3g8YAAAOGMqaEgAFl1I ABaJPGAAADhjJpRIABZNOGAAAEgAFmmAAQAkfAgDpoOBABCDoQAUg8EAGIPhABw4IQAgToAAIDxg AAA4YyZoSAAWGUv//1x8ZBt4PGAAADhjJnxIABYFS///SJNhAAw9IAAEgSkIRHxjShRIABWxfH4b eDvgAAA7oAABP2AAADt7JoxIAAAcf+T7eH9j23hIABXJO/8AASwfACBBggAUf6n4MH0p8DlBgv/s S///3INhAAxL//8QlCH/8HwIAqaQAQAUPSAABIEpB/Q5Kf//OUD//XwJUEBBgQBok+EADD0gAASA aQfwSAAVNThjAAFIABX5PSAABIPpB/QsHwAAQYIAYJPBAAg/wAAEf+P7eEv//SWAfghgfH8aFEgA FQF8fxt5QIL/6IPBAAiD4QAMgAEAFHwIA6Y4IQAQToAAIDhgAHhIABU5PGAAADhjJphIABUJOGAA AEgAFSVL///Ug+EADEv//8yUIf/wfAgCppABABQ9IAAEgGkIbEv//Lk8YAAAOGMmlEgAFNGAAQAU fAgDpjghABBOgAAgPGAAADhjC0BOgAAglCH/8HwIAqaQAQAUS//1dTxgAAQ4YwBUgAEAFHwIA6Y4 IQAQToAAIJQh//B8CAKmkAEAFDhgAHhIABSdPGAAADhjJ0BIABRtOGAAAEgAFImAAQAUfAgDpjgh ABBOgAAglCH/8HwIAqaQAQAUk+EADD0AAAA5CCDIgOgAJIDIACiAqAAsPSAABICJB2w8YAAAOGMn TEgAFB1L//TpP+AABICfB/A8YAAAOGMniEgAFAWAfwfwOSP//zlA//18CVBAQYEAmEgAE7F8ZBt4 PGAAADhjJ6BIABPdOIAAIIB/B/BIABPdPGAAADhjJpRIABPFP+AABICfB/Q8YAAAOGMnrEgAE7GA fwf0OSP//zlA//18CVBAQYEATEgAE118ZBt4PGAAADhjJ7xIABOJOIAAIIB/B/RIABOJPGAAADhj JpRIABNxgAEAFHwIA6aD4QAMOCEAEE6AACBL//7RS///iEv//slL///UlCH/8HwIAqaQAQAUPGAA BDhjAFQ4YwAQSAASTYABABR8CAOmOCEAEE6AACCUIf/wfAgCppABABQ8gAAAOIQn/DxgAAQ4YwB4 SAATST0gAASQaQiAKAMAAUGCABw8YAAAOGMNNIABABR8CAOmOCEAEE6AACA8YAAAOGMoCEgAEwk9 IAAEkGkIfEv//9Q9IAAEgSkIgDxgAAQ4YwB4OGMAICwJAAFMggAglCH/8HwIAqaQAQAUPGAABD0g AASBKQh8kSMH6DiAAAQ4YwfoSAATMTxgAAQ4YwB4OGMAEIABABR8CAOmOCEAEE6AACCUIf/wfAgC ppABABQ8YAAEOGMAeDhjADBIABFhgAEAFHwIA6Y4IQAQToAAIDxgAAA4Yw3MToAAIJQh//B8CAKm kAEAFEv/8uk8YAAEOGMAvIABABR8CAOmOCEAEE6AACCUIf/wfAgCppABABST4QAMfH8beEv/8rk9 IAAEgGkIUHx/GhRIABGdPSAABIEpCHh8Y0oUSAARjYABABR8CAOmg+EADDghABBOgAAgPSAABIEp B3QsCQAATYIAIJQh/7B8CAKmkAEAVJIhABSSQQAYkmEAHJKBACCSoQAkksEAKJLhACyTAQAwkyEA NJNBADiTYQA8k4EAQJOhAESTwQBIk+EATHxyG3g7QAAAO+AAAD5gAAA6cyhEPsAAADrWKEg+oAAE OrUAvDuVAGQ/AAAAOxgoVD8gAAA7OShQOuAAAD6AAAA6lCaUPiAABEgAAHCAngAAfwPDeEgAEQVX //h+U7/4AFe9+H473gAEfBzwQEGCAChz6QABQYL/5CwbAABBgv/QgJ4AAH8jy3hIABDRfvu7eEv/ /8hIABD1foOjeEgAEL07WgABV1oGPn9f03iBMQd0fBpIQECAAHBIABDRH/8AUn/y+hR/5Pt4fmOb eEgAEI1IABC5gL8AMoDfADZ+w7N4SAAQeUgAEKWAvwA6gN8APn7Ds3hIABBlSAAQkYC/AEKA3wBG fsOzeEgAEFFIABB9g78ASoP/AE471QAQO2AAAUv//1CAAQBUfAgDpoIhABSCQQAYgmEAHIKBACCC oQAkgsEAKILhACyDAQAwgyEANINBADiDYQA8g4EAQIOhAESDwQBIg+EATDghAFBOgAAglCH/4JOB ABCToQAUk8EAGJPhAByDwwAyg+MANoDDADqA4wA+gQMAQoEjAEaBQwBKgWMAToOEADKDpAA2k4MA MpOjADaDhAA6g6QAPpODADqTowA+g4QAQoOkAEaTgwBCk6MARoOEAEqDpABOk4MASpOjAE6TxAAy k+QANpDEADqQ5AA+kQQAQpEkAEaRRABKkWQAToOBABCDoQAUg8EAGIPhABw4IQAgToAAIJQh/8B8 CAKmkAEARJMhACSTQQAok2EALJOBADCToQA0k8EAOJPhADx8fxt4fJ4jeEv//RE/gAAEkHwHdD0g AASAaQhQfH8aFEgADrl8fxt4PSAABIOpCDQ9IAAEgGkIQHx/GhRIAA6df+P6FH+/6hSDnAd0LBwA AEGCAPSSQQAIkmEADJKBABCSoQAUksEAGJLhAByTAQAgO2AAADkgAAA9QAAAOUooXIJKAACCagAE oooACD6gAAQ+wAAEPuAABD8AAAQ/IAAEP0AABB0pAFJ//koUfl5JLpJ/AASynwAIgHUIMHx9GhRI AA49kH8AMpCfADaAdggsfH0aFEgADimQfwA6kJ8APoB3CFh8fRoUSAAOFZB/AEKQnwBGgHgIKHx9 GhRIAA4BkH8ASpCfAE6BOQgIf71KFDt7AAFXewY+f2nbeIOaB3R8G+BAQYD/gIJBAAiCYQAMgoEA EIKhABSCwQAYguEAHIMBACBXnAY+OyAAATtAAAB/W9N4SAAAaEv//dV/aNt4O/8AAVf/Bj58H+gA QIAAQByfAFJ8fiIUOIQAUnyeIhSBIwAygUQAMnwJUEBBgf/MfAlQAECC/8yBIwA2gUQANnwJUEBA gf+8S///sDuc//9XnAY+LAgAAECCABg3vP//QIEAEH8oy3h/X9N4S///pIABAER8CAOmgyEAJINB ACiDYQAsg4EAMIOhADSDwQA4g+EAPDghAEBOgAAgfGsbeHyHI3goBAABQIEAcDhgAAA5IAAASAAA GH0nS3h8aRt4fUM4UCgKAAFAgQBUfSk6FFUk+H5VKf4+HUkAUn1LUhSBCgAygUoANnwIKEBBgf/M fAgoQECCAAx8CjBAQYH/vFSDBj58CChAQIL/tHwKMEBAgv+sSAAACDhgAAAdIwBSfWtKFIErADJ8 CSgAQIIAEIErADZ8CTAATYIAIDhg//9OgAAglCH+gHwIAqaQAQGEkmEBTJKhAVSTQQFok8EBeJPh AXx8eht4OGAAAUgADCU9IAAEgGkH6EgADAFIAAyNPSDQDWEp/u18A0gAQIIAqD/gAASAfwfoOGMA CEgAC91IAAxpfH4beIB/B+g4YwAMSAALyUgADFV8cxt4gH8H6DhjACRIAAu1SAAMQYE/B+h/3koU fqPyFHweqEBAgALIkeEBPJIBAUCSIQFEkkEBSJKBAVCSwQFYkyEBZJOBAXCToQF0O+AAADsgAAA9 4AAEPiAAADoxKIQ+QAAAOlIomD7AAAQ7gAAAPgAAADoQKJBIAAA0fGQbeDxgAAA4YyhoSAALdUv/ /0w73gAEOKAAZH/E83g4YQBsSAALLXweqEBAgAIgf8PzeEgACxFIAAudKAMAAUGC/9QoAwADQYIA DDveAARL///YOH4ABEgACu1IAAt5fHQbeDh+AAhIAArdSAALaTu+AAyBLwfofTNKFDigAGR8iRoU OGEACEgACsl+JIt4OGEACEgACbksAwAAQYIAMH5Ek3g4YQAISAAJpSwDAABBggBIVokAOnKKAANB ggGAO94AEH/J8hRL//9gOKAAZH+k63g4YQDQSAAKeX4Eg3g4YQDQSAAJaSwDAABAgv+0O+AAAUv/ /6w5PgAQLBQAAEGCAUSS4QFckwEBYJNhAWx9Pkt4fpRKFEgAADiDFgd0f5/jeH+D43h/d9t4LBgA AECCALSBNgd0fBlIAEGCAWA73gAEf5/jeHwU8ABBggDgf8PzeEgACfFIAAp9fHsbeDh+AAhIAAnh SAAKbXx9G3gsHwAAQIL/qH+F43h/Ztt4gJYHdH9D03hL//zhLAP//0GC/6QcYwBSOIEAbHx6GhRI AAjhOzkAAVc5Bj5L//+IgOMAQoEDAEZ9SkAUfSk5FHz9uBR9HAGUfAlAQECBADw7/wABV/8GPn/j +3h8H8BAQID/VBxjAFJ8ehoUgSMAMoFDADZ8HEhAQIL/uHwbUEBBgf/QS///rHwJQEBAggAMfAo4 QEGB/7w4gQBsSAAIZTs5AAFXOQY+S///qILhAVyDAQFgg2EBbEv//fB/1OoUS//96H0+S3hL//3g geEBPIIBAUCCIQFEgkEBSIKBAVCCwQFYgyEBZIOBAXCDoQF0OGAAAEgACOmAAQGEfAgDpoJhAUyC oQFUg0EBaIPBAXiD4QF8OCEBgE6AACCB4QE8ggEBQIIhAUSCQQFIgoEBUILBAViC4QFcgwEBYIMh AWSDYQFsg4EBcIOhAXRL//+klCH/wHwIAqaQAQBEk8EAODhgAABIAAh5PSAABIPJB/QsHgAAQYIB KJKhABSSwQAYkuEAHJMBACCTIQAkk0EAKJNhACyTgQAwk6EANJPhADw7oAAAPsAABD7gAAQ/IAAE OzkIpD+AAAQ7nAd0P0AAADtaKJw/YAAAO3smlD8AAARIAAAof+P7eEv/+7l/4/t4S//2cYB4CGB8 fhoUSAAH2Xx+G3lBggCAgHYIUHx+GhRIAAfFgTcIOHxjShRIAAe5fH8beH/D83hIAAJ5fHUbeFf/ Bj4f/xAEf//KFH/k+3h/w/N4S//4kX+j63g7vQABV70GPkgACEGYfAAEfqSreH9D03hIAAetSAAH 2X9j23hIAAehiTwABCwJAABBgv94S///ZIKhABSCwQAYguEAHIMBACCDIQAkg0EAKINhACyDgQAw g6EANIPhADyAAQBEfAgDpoPBADg4IQBAToAAIJQh//B8CAKmkAEAFDxgAAQ4YwC8OGMAYEgABlWA AQAUfAgDpjghABBOgAAglCH/8HwIAqaQAQAUk+EADHx/G3hL/+fhPSAABIEpCHQ9QAAEgGoIEH0p GhQ9QAAEgGoIPHxpGhR8Y/oUSAAGrYABABR8CAOmg+EADDghABBOgAAglCH/8HwIAqaQAQAUPGAA BDhjAUxIAAXlgAEAFHwIA6Y4IQAQToAAIJQh/+B8CAKmkAEAJJPBABiT4QAcPGAAADhjKiBIAAcp S//nWT0gAASAaQf0LAMAAEGCAISToQAUP8AABDveB3w73v/8O+AAAD+gAAQ7/wABlH4ABIE9CGB8 Y0oUSAAGESwDAABBggBYLB8AD0CC/+CDoQAUP8AABDveB3xX6RA6OUAAAH1eSS5/5Pt4PGAAADhj KjRIAAaxf8PzeIABACR8CAOmg8EAGIPhABw4IQAgToAAIDvgAABL//+8g6EAFEv//7SUIf/wfAgC ppABABST4QAMfH8beHxkG3g8YAAAOGMqWEgABmFL/+aRPSAABIBpCFB8fxoUSAAFdT0gAASBKQg4 fGNKFEgABWU74wABf+T7eDxgAAA4YypsSAAGKVfjBD6AAQAUfAgDpoPhAAw4IQAQToAAIJQh//B8 CAKmkAEAFJPhAAw9IAAEgSkIUHxjShRIAAUZPSAABICJCBw/4AAEO/8HvDigACB8gyIUf+P7eEgA BQU5IAAAmT8AH3/j+3iAAQAUfAgDpoPhAAw4IQAQToAAIJQh//B8CAKmkAEAFJPhAAx8fxt4fGQb eDxgAAA4YyqESAAFjUv/5b1/4/t4S///dXx/G3h8ZBt4PGAAADhjKpxIAAVtf+P7eIABABR8CAOm g+EADDghABBOgAAglCH/8HwIAqaQAQAUk+EADHx/G3h8ZBt4PGAAADhjKrRIAAUxS//lYSwfAABA ggAcf+P7eIABABR8CAOmg+EADDghABBOgAAgPSAABIBpCHQ9IAAEgSkIEHxjShQ9IAAEgSkIPHxj ShR8Y/oUSAAEDXx/G3h8ZBt4PGAAADhjKtRIAATRf+P7eEgABI18fxt4fGQbeDxgAAA4Yyr0SAAE tUv//5CUIf/wfAgCppABABST4QAMfH8beHxkG3g8YAAAOGMrFEgABI1L/+S9PSAABIBpCFB8fxoU SAADoT0gAASBKQg4fGNKFEgAA5F8fxt4fGQbeDxgAAA4YyswSAAEVX/j+3iAAQAUfAgDpoPhAAw4 IQAQToAAIJQh/+B8CAKmkAEAJJOBABCToQAUk8EAGJPhABx8fxt4fJ0jeHyFI3h8ZBt4PGAAADhj K0xIAAQFP8AABDveAWST/gAEV71oJD0gAASBKQfsf71KFD0gAASAaQgUfH0aFEgAAwGQfgAQP+AA BIB/CHB8fRoUSAAC7ZB+AByAfwhwfH0aFEgAAt2QfgAoPSAABIBpCGh8fRoUSAACyZB+ADQ74AAA P4AABIB8B/x8fRoUfGP6FEgAAq2QfgA0O/8ABDveAAwoHwA0QIL/4DxgAAQ4YwFkgAEAJHwIA6aD gQAQg6EAFIPBABiD4QAcOCEAIE6AACCUIf/gfAgCppABACR9gAAmk6EAFJPBABiRgQAIfH0beHye I3h8hSN4fGQbeDxgAAA4Yyt4SAADEUv/40EsHQAAQYIBKJPhABwoHQAPQYEAcJNhAAyTgQAQPSAA BIPpB/QuHwAAP2AABD+AAARBkgBIgHsIUHx/GhRIAAH1gTwIOHxjShRIAAHpfAPoAECC/+B/xfN4 f+T7eDxgAAA4Yyt4SAACpX/9+3iDYQAMg4EAEEgAAAyDYQAMg4EAED0gAASAaQhMfH0aFEgAAaU9 IAAEgSkIRHxjShRIAAGVO+AAADlAAAEvngAAOSAAIH0pA6ZIAAAMO/8AAUJAABh9SfgwfSkYOUGC //BBnv/sSAAACDvgAAA9IAAEgGkIdD0gAASBKQgQfGNKFD0gAASBKQg8fGNKFHxj6hRIAAE1f+T7 eEv//c2D4QAcgAEAJIGBAAh8CAOmg6EAFIPBABh9gIEgOCEAIE6AACA8YAAEOGMH3Ev//9iJQwAA LAoAAEGCACCJJAAAfAlQAECCABQ4hAABjUMAASwKAABAgv/oiGQAAHxjUFBOgAAgOIT//zlD//+N JAABnSoAASwJAABAgv/0ToAAIDhAAQF8ghAIToAAIDhAAQJ8ghAIToAAIDhAASd8ghAIToAAIDhA AS98ghAIToAAIDhAATp8ghAIToAAIDhAAT58ghAIToAAIDhAAUJ8ghAIToAAIDhAAUR8ghAIToAA IDhAAUZ8ghAIToAAIDhAAUx8ghAIToAAIDhAAgF8ghAIToAAIDhAAgR8ghAIToAAIDhAAgZ8ghAI ToAAIDhAAwF8ghAIToAAIDhAAwN8ghAIToAAIDhAAxF8ghAIToAAIDhAAyF8ghAIToAAIDhAA1l8 ghAIToAAIDhAA2N8ghAIToAAIDhABAB8ghAIToAAIDhABDF8ghAIToAAIDhABDJ8ghAIToAAIDhA BFJ8ghAIToAAIDhABFN8ghAIToAAIDhABRF8ghAIToAAIDhABRR8ghAIToAAIDhABgF8ghAIToAA IDhABgV8ghAIToAAIDhABwF8ghAIToAAIDhABwR8ghAIToAAIDhABwV8ghAIToAAIDhABxR8ghAI ToAAIDhACgF8ghAIToAAIDhAChR8ghAIToAAIDhACjF8ghAIToAAIL4CAwQAAAAFAEBWRVJTSU9O LUlORk9AADEwMTk0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAn0gAAB+gAAAAGAAAADQAA AAAAAAAAAAAAAGh0dHBzOi8vc3ZuLmludGVybi5sYXV0ZXJiYWNoLmNvbS9zdm4va2VybmVsc3Jj L2JyYW5jaGVzL25pZ2h0bHkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaHR0cHM6Ly9zdm4uaW50ZXJuLmxhdXRlcmJhY2guY29t L3N2bi9rZXJuZWxzcmMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABiYXVtZWlzdGVyAAAAAAAAZWRr LWxpbnV4NjRiaXQtNwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAEdDQyA5LjUuMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAH6AAAAAYAAAANAAAATgAAJ9IAAAfoAAAABgAAAAAAAAAAAAAA AAAAAAAAAAAAAAE6N0phaWxob3VzZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAByb290X2NlbGwAAABudW1fY2VsbHMAAABf X3BhZ2VfcG9vbABzdHJ1Y3QgY2VsbAAuY29tbV9wYWdlAAAuYXJjaAAAAC5jb25maWcALmNwdV9z ZXQAAAAALm5leHQAAABzdHJ1Y3QgamFpbGhvdXNlX2NvbW1fcmVnaW9uAAAAAC5jZWxsX3N0YXRl AHN0cnVjdCBhcmNoX2NlbGwAAAAALm1tAHN0cnVjdCBwYWdpbmdfc3RydWN0dXJlcwAAAAAucm9v dF90YWJsZQBzdHJ1Y3QgamFpbGhvdXNlX2NlbGxfZGVzYwAALm5hbWUAAAAuaWQALm51bV9tZW1v cnlfcmVnaW9ucwAubnVtX2NhY2hlX3JlZ2lvbnMAAC5pcnFfY2hpcHMAAC5waW9fYml0bWFwX3Np emUAAAAALnBjaV9kZXZpY2VzAAAAAC5udW1fcGNpX2NhcHMAAAAudnBjaV9pcnFfYmFzZQAALmNw dV9yZXNldF9hZGRyZXNzAAAubXNnX3JlcGx5X3RpbWVvdXQAAHN0cnVjdCBqYWlsaG91c2Vfc3lz dGVtAC5jcHVfc2V0X3NpemUAAABzdHJ1Y3QgamFpbGhvdXNlX21lbW9yeQAucGh5c19zdGFydAAu dmlydF9zdGFydAAuc2l6ZQAAAC5mbGFncwAAc3RydWN0IGNwdV9zZXQAAC5iaXRtYXAAc3RydWN0 IHBlcl9jcHUAAC5saW51eF9zcAAAAC5saW51eF9yZXQAAC5saW51eF9mbGFncwAAAAAubGludXhf cmVnAABnZXRDdXJyZW50R3Vlc3RJZCgpAGdldEN1cnJlbnRHdWVzdElkKCkgPSAlZC4AAABnZXRD dXJyZW50VmNwdUlkKCkAAGdldEN1cnJlbnRWY3B1SWQoKSA9ICVkLgAAAABnZXRDdXJyZW50VmNw dUlkKCkgPSBkZWZhdWx0IDAuAEVYVC5DRUxMICV4AEVYVC5DRUxMAAAAACVkLgAocm9vdCkAAHJ1 bm5pbmcAcnVubmluZy9sb2NrZWQAAHNodXQgZG93bgAAAGZhaWxlZAAAaW52YWxpZCAoJWQuKQAA ACVkLiAAAAAACgAAAFJvb3QgY2VsbCBub3QgZm91bmQhIEh5cGVydmlzb3Igc3ltYm9scyBsb2Fk ZWQ/CgAAAABtYWdpYyAgICAAAABpZCAgAAAAAG1pZCAAAAAAbmFtZSAgICAgICAgICAgICAgICAg ICAgICAgIAAAAABzdGF0ZSAgICAAAABjcHVzIAAAAHZ0dGIgICAgIAAAAF9KQUlMSE9VU0VfX0VY VF9DRUxMAAAAAGludmFsaWQhAAAAAEphaWxob3VzZSBBd2FyZW5lc3MgZm9yICVzIFZlcnNpb24g JTJkLiUyZC4lNGQgKEJ1aWxkICVzKQoAAG51bSBjZWxscyAgICAgICAlOHggIAAAACUzZC4gICAg ICAAAHJvb3QgY2VsbCAgICAgICAlOHggIAAAAFRFU1QAAAAAYXJndW1lbnQgICAgICAgICAgICB2 YWx1ZSAgICAgY29udGVudCAgIHN5bWJvbAAAPG9wdGlvbj4AAAAAPGFkZHJlc3M+AAAAT3B0aW9u OiBEVEIARFRCIGFkZHJlc3Mgc2V0AE9QVElPTgAATwAAAE9wdGlvbgAAICVzACAweCUxNngAJXMA ACB8JXMAAAAATk9UIEZPVU5EAAAAV3JvbmcgbWFnaWMgbnVtYmVyIDB4JTh4AAAAAGRldmljZV90 eXBlAG1lbW9yeQAAcmVnACVzIDoAAAAAQ2VsbCBuYW1lICAgICAgICAgICAgICAgICAgICAgICAg ICAATWVtb3J5IE5hbWUgICAgICAgICAgICAgICAgICAgICAgICAAUGh5c2ljYWwgc3RhcnQgICAg ICAgIAAAVmlydHVhbCBzdGFydCAgICAgICAgIAAAU2l6ZSAgICAgICAgICAgICAgICAgIAAARmxh Z3MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAAAABNRU1W SUVXACBSRUFEAAAAIFdSSVRFAAAgRVhFQ1VURQAAAAAgRE1BAAAAACBNRU1fSU8AIENPTU1fUkVH SU9OAAAAACBMT0FEQUJMRQAAACBST09UU0hBUkVEACBJT19VTkFMSUdORUQAAAAgSU9fOAAAACBJ T18xNgAAIElPXzMyAAAgSU9fNjQAAEVYVC5DRUxMLlZUVEIAAABfX1JUT1NfSkFJTEhPVVNFX19G VU5DAABnZXRNYWNoaW5lTGlzdCgpAAAAAGdldE1hY2hpbmVMaXN0KCkgOiAgbnVtZ3Vlc3RzPSVk LgAAAGdldE1hY2hpbmVJZCgpOiAlOHgAZ2V0TWFjaGluZUlkKCkgPSAlZC4AAAAAZ2V0TWFjaGlu ZU5hbWUoKTogJTh4AAAAZ2V0TWFjaGluZU5hbWUoKSA9ICVzAAAAZ2V0TWFjaGluZVZ0dGIoKTog bWFnaWMgICAgPSU4eABnZXRNYWNoaW5lVnR0YigpIHZ0dGIodmlydCk9JTh4AGdldE1hY2hpbmVW dHRiKCkgdnR0YihwaHlzKT0lOHgAZ2V0TWFjaGluZVRyYWNlSWQoKTogJTh4AAAAAGdldE1hY2hp bmVUcmFjZUlkKCkgPSAlZC4AAABnZXRBcm02NFZjcHVDb250ZXh0OiB2dHRicj0lOHgsIGNvcmU9 JWQuAAAAAGdldFZjcHVDb250ZXh0OiBtYWdpYz0lOHgsIHZjcHVpZD0lZAAAAAB2dHRicgAAAHNw AABwYwAAcjE0AGNwc3IAAAAAcjAAAHIxAAByMgAAcjMAAHI0AAByNQAAcjYAAHI3AAByOAAAcjkA AHIxMAByMTEAcjEyAEphaWxob3VzZQAAAEFSTQBEQVRBAAAAAwNMAAAABAA0AAALAAAAAAMKTAAA AAQANAAAClAAACY8AAAmPAAAJjwAACcoAAAGTAAAJswAACbYAAAm4AAAJugAACcIAAAnFAAAJxwA AAAAAAAAAQBQAAAAACfMAAALoAAAJ8QAACfEAAAmyAAAJsgAAAs0AAAoHAAAAAEAAAAAAAAAAAAA AAIAAAAAAAAoIAAAAAAAAAACAAAAAAAAKBQAAAAAAAAoMAAAKDgAACg8AAAmyAAADNQAAAADAFAA AAAEATAAABdAAAApdAAAKXwAACmEAAApkAAAKZgAACmgAAApsAAAKbwAACnIAAAmyAAAJsgAACbI AAAmyAAAJsgAACbIAAAmyAAAKdgAACngAAAp6AAAKfAAAClsAAApbAAAJsgAACbIAAANwAAAKKQA ACjIAAAo7AAAKQQAACkcAAApNAAAAAAAACn4AAAAAwAAAAMAAAAAAAAqCAAAGMwAACugAAAAAAAA AAAAACuoAAAAAAAAAAAAACusAAAAAAAAAAAAACuwAAAAAAAAAAAAACu0AAAAAAAAAAAAACu8AAAA AAAAAAAAACvAAAAAAAAAAAAAACvEAAAAAAAAAAAAACvIAAAAAAAAAAAAACvMAAAAAAAAAAAAACvQ AAAAAAAAAAAAACvUAAAAAAAAAAAAACvYAAAAAAAAAAAAACvcAAAAAAAAAAAAACvgAAAAAAAAAAAA ACvkAAAAAAAAAAAAACvoAAAAAAAAAAAAACvsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACbIAAAr8AAAK/wA AAAAVDMyRQ== ) RETURN ) menu_32bit: ;(header, infix) ( PMACRO.LOCK ( PRIVATE &sHeader &sInfix &sMenuName PARAMETERS &sHeader &sInfix &sMenuName=TASK.TRANSPOSE.INFIX("&sHeader") IF MENU.EXIST("TASK.&(sMenuName)") MENU.Delete.NAME TASK.&(sMenuName) IF MENU.EXIST("EXT.&(sMenuName)") MENU.Delete.NAME EXT.&(sMenuName) MENU.ReProgram (&+ ; -------------------------------------------------------------------------------- ; @Title: Jailhouse Hypervisor specific menu ; @Description: - ; @Keywords: jailhouse menu awareness ; @Author: DIE ; @Copyright: (c) 1989-2021 Lauterbach GmbH, licensed for use with TRACE32(R) only ; -------------------------------------------------------------------------------- ; $Id: jailhouse.m 7861 2022-07-29 13:45:42Z amerkle $ NAME "TASK.&sMenuName" IF !MENU.EXIST("TASK.&sMenuName") ( add menu ( popup "&sHeader" ( default menuitem "Display &Cells" "EXTension.&(sInfix)CELL" ;SEPARATOR ;POPUP "[:symbols]Symbol &Autoloader" ;( ; MENUITEM "[:symbols]List Components" "sYmbol.AutoLoad.List" ; MENUITEM "[:init]Check Now!" "sYmbol.AutoLoad.CHECK" ; MENUITEM "[:config]Config" "sYmbol.AutoLOAD.config" ;) SEPARATOR MENUITEM "Display Task Tree" "TASK.List.TREE" MENUITEM "Display Core Activity" "CORE.List" SEPARATOR MENUITEM "Display Memory" "EXTension.&(sInfix)MEMVIEW" ) ;popup "&Help" ;( ; MENUITEM "[:manual]Hypervisor Awareness Manual Jailhouse Hypervisor" "HELP __RTOS_jailhouse_" ;) ) menu "ext.&(sInfix)cell" ( default menuitem "Display detailed" ( PRIVATE &nMagic &nMagic=address.offset(track.address()) EXTension.&(sInfix)CELL &nMagic ) menuitem "Display cell struct" ( PRIVATE &nAddress &nAddress=address.offset(track.address()) Var.View %Open %String (struct cell*)(H:&nAddress) ) menuitem "List intermediate page table" ( PRIVATE &nMagic &nVttb &nMagic=address.offset(track.address()) &nVttb=ext.cell.vttb(&nMagic) IF system.option.machinespaces() MMU.List IntermedPageTable /machine &nMagic ELSE MMU.List IntermedPageTable 0 mmu.physical(H:&nVttb) ) menuitem "Dump cell entry" ( PRIVATE &nAddress &nAddress=address.offset(track.address()) Data.dump H:&nAddress /Long /dialog ) ) ) ) ) PMACRO.UNLOCK RETURN ) autoload_32bit: ;(options) ( PARAMETERS &sOptions RETURN ) extension_64bit: ; (options) ( PARAMETERS &sParameters &sOptions EXTension.LOAD &sParameters &sOptions ( VDMyTQAwMDMuMDAxQCgjKVRSQUNFMzIgY29uZmlndXJhdGlvbiBmaWxlIFYwMDMuMDAxIDogYXJt NjQvamFpbGhvdXNlAAAAdGwAAC5OZGwAAAF0ZGEABAAAZXAAAAAkaHMABJM4AABURVhUAAECAwAA I0AAACXgAAAAAAAAAAAAAAAAAAAAAAAAAABOgAAglCH/8HwIAqaQAQAUSAAHJUgAGs1IAA8RSAAO DUgAG108YAAAOGMEEEgAIWk8YAAAOGME+EgAIWk8YAAAOGMbxEgAIYE8YAAAOGMcpEgAIYE8YAAA OGMdmEgAIYE8YAAAOGMeCEgAIUU8YAAAOGMe5EgAIXU8YAAAOGMfdEgAITk8YAAEOGMBZEgAIn2A AQAUfAgDpjghABBOgAAglCH/8HwIAqaQAQAUk+EADDxgAAA4YyXkSAAhVT0gAAQ5KQJQkGkAAJCJ AAQ8YAAAOGMl8EgAITk9IAAEOSkCSJBpAACQiQAEPGAAADhjJfxIACEdPSAABDkpAkCQaQAAkIkA BDxgAAA4YyYISAAg9TxgAAA4YyYUSAAg3T0gAASQaQJ4PGAAADhjJiBIACDJPSAABJBpAtw8YAAA OGMmKEgAILU9IAAEkGkCsDxgAAA4YyYwSAAgoT0gAASQaQKsPGAAADhjJjxIACCNPSAABJBpAsA8 YAAAOGMmREgAIIU8YAAAOGMmZEgAIG09IAAEkGkCWDxgAAA4YyZwSAAgZTxgAAA4YyaESAAgTT0g AASQaQJwPGAAADhjJohIACBFPGAAADhjJqRIACAtPSAABJBpApw/4AAAO/8msH/j+3hIACAhPGAA ADhjJsxIACAJPSAABJBpAnw8YAAAOGMm1EgAH/U9IAAEkGkCmDxgAAA4YybYSAAf4T0gAASQaQLg PGAAADhjJuxIAB/NPSAABJBpAoA8YAAAOGMnAEgAH7k9IAAEkGkCtDxgAAA4YycMSAAfpT0gAASQ aQJgPGAAADhjJyBIAB+RPSAABJBpAsQ8YAAAOGMnMEgAH309IAAEkGkCZDxgAAA4YydASAAfaT0g AASQaQKEPGAAADhjJ1BIAB9VPSAABJBpAqg8YAAAOGMnZEgAH0E9IAAEkGkCbDxgAAA4Yyd4SAAf OT0gAASQaQK8f+P7eEgAHyk9IAAEkGkClDxgAAA4YyeQSAAfCT0gAASQaQKgPGAAADhjJ6BIAB8B PSAABJBpAmg8YAAAOGMnuEgAHuE9IAAEkGkCkDxgAAA4YyfESAAezT0gAASQaQKMPGAAADhjJ9BI AB65PSAABJBpArg8YAAAOGMn2EgAHqU9IAAEkGkCiDxgAAA4YyfgSAAenTxgAAA4YyfwSAAehT0g AASQaQKkPGAAADhjJ/hIAB59PGAAADhjKAhIAB5lPSAABJBpAnQ8YAAAOGMoFEgAHlE9IAAEkGkC 2DxgAAA4YyggSAAePT0gAASQaQLIPGAAADhjKDBIAB4pPSAABJBpAlw4YAAAgAEAFHwIA6aD4QAM OCEAEE6AACCUIf/gfAgCppABACSTwQAYk+EAHDxgAAA4Yyg8SAAe8Uv//JE9IAAEOUkCUIPJAlCD 6gAEf8n7eUGCAKiToQAUP6AABH/D83h/5Pt4SAADXSwDAABAggAwgJ0CwHyE+BR8fgGUSAAd9Xx+ G3h8nyN4f8kjeUCC/9A74AAAg6EAFEgAADQ9IAAEgIkCsHyE+BR8fgGUSAAdxT0gAASBKQKYfIkg FHxjAZRIAB2lO+MAAYOhABR/5Pt4PGAAADhjKFBIAB5Nf+P7eIABACR8CAOmg8EAGIPhABw4IQAg ToAAIDvgAABL///QlCH/wHwIAqaQAQBEfYAAJpOBADCTwQA4k+EAPJGBABQ8YAAAOGMobEgAHf1L //udOGAAAUgAHUl8fxt4PSAABDlJAlCDiQJQg8oABD0gAASAiQKsfITwFHx8AZRIAB0VPSAABIEp AqR8iSAUfGMBlEgAHPV/ifN5QYIBQJLBABiS4QAckwEAIJMhACSTQQAok2EALJOhADR8fRt4OyAA AX85+DA+wAAEPuAABH/7+3guHwAAO0AAAT8AAARIAAAsO+AAAEgAAIiAmALAfITwFHx8AZRIAByd fHwbeHyeI3h/iSN5QYIAuH8p6DlBgv/cgJYCrHyE8BR8fAGUSAAcdYE3AqR8iSAUfGMBlEgAHFl8 fRt4f2TbeEGS/6g5QAAAO+AAADkgACB9KQOmf0lQMH0p6DgxKf//f/8BlDlKAAFCQP+IfArYAECC /+Q8YAAAOGMogEgAHNGCwQAYguEAHIMBACCDIQAkg0EAKINhACyDoQA0f+P7eIABAESBgQAUfAgD poOBADCDwQA4g+EAPH2AgSA4IQBAToAAIILBABiC4QAcgwEAIIMhACSDQQAog2EALIOhADQ8YAAA OGMonEgAHGU74AAAS///rJQh//B8CAKmkAEAFDxgAAA4YyZ8SAAb8T0gAAQ5KQLQkGkAAJCJAAQ8 YAAAOGMHBIABABR8CAOmOCEAEE6AACCUIf/wfAgCppABABRL//mxPSAABDlJAtCBKQLQgUoABH0p U3lAggAgPGAABDhjAAA4YwAQgAEAFHwIA6Y4IQAQToAAIDxgAAQ4YwAAS///6JQh//B8CAKmkAEA FDxgAAQ4YwAAOGMAIEgAGjGAAQAUfAgDpjghABBOgAAglCH/8HwIAqaQAQAUPSAABIEpAlh8iSAU fGMBlEgAGsF8YwA0VGPZfoABABR8CAOmOCEAEE6AACCUIf/gfAgCppABACSTwQAYk+EAHHx+G3h8 nyN4S///rSwDAABAggAcgAEAJHwIA6aDwQAYg+EAHDghACBOgAAgk6EAFDhgAAFIABp1fH0beD1A AASAigKsfIT4FHx+AZRIABpRfGkbeDEE//99SQHULAr//0CCABw4YAAAOUD//XwIUEBAgQAMg6EA FEv//5w9QAAEgUoCpHyKIBR8aQGUSAAaBTkgAAF9KegwfSkYODBp//98Y0kQg6EAFEv//2yUIf/g fAgCppABACSTQQAIk2EADJOBABCToQAUk8EAGJPhABx8ext4fJ4jeEv//xUsAwAAQIIBEH9l23h/ xvN4PGAAADhjKLxIABpFPGAAADhjKMhIABohf2XbeH/G83g8YAAAOGMtIEgAGaFIABnNPSAABICJ ArB8hPAUfHsBlEgAGXF8fBt4fJ8jeD0gAASAiQKYfIT4FHx8AZRIABlJfH0beD9AAAA7WijUfGQb eH9D03hIABlVSAAZgTidAAF/Q9N4SAAZRUgAGXE9IAAEgIkCfHyE+BR8fAGUSAAY/SwDAABAggBs LB0AAEGCAIBIABlJPSAABICJAng4YAAAPSAABIEpAlh8hEgUfGMZFHyE8BR8Y9kUSAAYzSgDAAJB ggFEKAMAAkGBAFQsAwAAQYIAZDxgAAA4YyjoSAAYzUgAAGA4YAACSAAY5Uv//uw9IAAEgIkCfHyE +BQ4oAAgfHwBlEgAGLFL//+IPGAAADhjKNhIABiVS///eCgDAANAggD0PGAAADhjKQRIABh9SAAA EDxgAAA4YyjgSAAYbUgAGJk9IAAEgIkCrHyE8BR8ewGUSAAYPTFE//99IwHULAn//0CCAMQ5IP/9 fApIQECBALhIABhlPSAABIEpAtw4YAAAPUAABICKAnB9KSAUfGMZFD1AAASAigKcfSkgFHxjAZR8 ifAUfGPZFEgAF+V8hiN4fGUbeDxgAAA4Yy0gSAAX6UgAGBU8YAAAOGMpJEgAF9k4YAAASAAX9YAB ACR8CAOmg0EACINhAAyDgQAQg6EAFIPBABiD4QAcOCEAIE6AACA8YAAAOGMo+EgAF51L//8wfGQb eDxgAAA4YykMSAAXiUv//xw9IAAEgSkCpHyJIBR8YwGUSAAXTXx9G3g74AAAO4AAAT9AAAA7Wikc SAAAHH/k+3h/Q9N4SAAXTTv/AAEsHwAgQYL/DH+J+DB9Keg5QYL/7Ev//9yUIf/gfAgCppABACQ9 IAAEOUkCUIEpAlCBSgAEMUr//30pAdQsCf//QYIAkJPBABiT4QAcPSAABDkpAkiAaQAAgIkABEgA FsU4YwABSAAXcT0gAAQ5SQJQg8kCUIPqAAR/yft5QYIAgJOhABQ/oAAEf8PzeH/k+3hL//ytgJ0C wHyE+BR8fgGUSAAWjXx+G3h8nyN4f8kjeUCC/9iDoQAUg8EAGIPhAByAAQAkfAgDpjghACBOgAAg OSD//XwKSEBAgf9sOGAAeEgAFok8YAAAOGMpKEgAFlk4YAAASAAWdUv//8iDwQAYg+EAHEv//7yU If/wfAgCppABABQ9IAAEOSkC0IBpAACAiQAES//8GTxgAAA4YykkSAAWFYABABR8CAOmOCEAEE6A ACA8YAAAOGMMjE6AACCUIf/wfAgCppABABRL//QpPGAABDhjAFSAAQAUfAgDpjghABBOgAAglCH/ 8HwIAqaQAQAUOGAAeEgAFeE8YAAAOGMp4EgAFbE4YAAASAAVzYABABR8CAOmOCEAEE6AACCUIf/w fAgCppABABSTwQAIk+EADD0AAAA5CCNYgOgAJIDIACiAqAAsPSAABICJAWw8YAAAOGMp7EgAFV1L //OZP8AABDv+AkiAvwAAgN8ABDxgAAA4YyooSAAVPYB+AkiAnwAEMUT//30jAdQsCf//QIIAEDkg //18CkhAQYEA0EgAFPF8ZBt4PGAAADhjKkBIABUFOKAAID0gAAQ5KQJIgGkAAICJAARIABUFPGAA ADhjKSRIABThP8AABDv+AlCAvwAAgN8ABDxgAAA4YypUSAAUxYB+AlCAnwAEMUT//30jAdQsCf// QIIAEDkg//18CkhAQYEAYEgAFIV8hiN4fGUbeDxgAAA4YypkSAAUiTigACA9IAAEOSkCUIBpAACA iQAESAAUiTxgAAA4YykkSAAUZYABABR8CAOmg8EACIPhAAw4IQAQToAAIEv//n1L//9cS//+dUv/ /9CUIf/wfAgCppABABQ8YAAEOGMAVDhjABBIABM9gAEAFHwIA6Y4IQAQToAAIJQh//B8CAKmkAEA FDyAAAA4hCq0PGAABDhjAHhIABQtPSAABJBpAvAoAwABQYIAHDxgAAA4Yw7cgAEAFHwIA6Y4IQAQ ToAAIDxgAAA4YyrASAAUBT0gAAQ5KQLokGkAAJCJAARL///MPSAABIEpAvA8YAAEOGMAeDhjACAs CQABTIIAIJQh//B8CAKmkAEAFDxgAAQ4YwI4PSAABDkpAuiBSQAAgWkABJFDAACRYwAEOIAACEgA FA08YAAEOGMAeDhjABCAAQAUfAgDpjghABBOgAAglCH/8HwIAqaQAQAUPGAABDhjAHg4YwAwSAAS PYABABR8CAOmOCEAEE6AACA8YAAAOGMPgE6AACCUIf/wfAgCppABABRL//E1PGAABDhjALyAAQAU fAgDpjghABBOgAAglCH/8HwIAqaQAQAUk8EACJPhAAx8fht4fJ8jeEv/8P09IAAEgSkCsHyJ+BR8 fgGUSAASkT0gAASBKQLgfIkgFHxjAZRIABJxgAEAFHwIA6aDwQAIg+EADDghABBOgAAgPSAABIEp AXgsCQAATYIAIJQh/7B8CAKmkAEAVJIhABSSQQAYkmEAHJKBACCSoQAkksEAKJLhACyTAQAwkyEA NJNBADiTYQA8k4EAQJOhAESTwQBIk+EATHxyG3g7QAAAO+AAAD5gAAA6cyr8PsAAADrWKwA+oAAE OrUAvDuVAGQ/AAAAOxgrDD8gAAA7OSsIOuAAAD6AAAA6lCkkPiAABEgAAHCAngAAfwPDeEgAEc1X //h+U7/4AFe9+H473gAEfBzwQEGCAChz6QABQYL/5CwbAABBgv/QgJ4AAH8jy3hIABGZfvu7eEv/ /8hIABG9foOjeEgAEYU7WgABV1oGPn9f03iBMQF4fBpIQECAAHBIABGZH/8AUn/y+hR/5Pt4fmOb eEgAEVVIABGBgL8AMoDfADZ+w7N4SAARQUgAEW2AvwA6gN8APn7Ds3hIABEtSAARWYC/AEKA3wBG fsOzeEgAERlIABFFg78ASoP/AE471QAQO2AAAUv//1CAAQBUfAgDpoIhABSCQQAYgmEAHIKBACCC oQAkgsEAKILhACyDAQAwgyEANINBADiDYQA8g4EAQIOhAESDwQBIg+EATDghAFBOgAAglCH/4JOB ABCToQAUk8EAGJPhAByDwwAyg+MANoDDADqA4wA+gQMAQoEjAEaBQwBKgWMAToOEADKDpAA2k4MA MpOjADaDhAA6g6QAPpODADqTowA+g4QAQoOkAEaTgwBCk6MARoOEAEqDpABOk4MASpOjAE6TxAAy k+QANpDEADqQ5AA+kQQAQpEkAEaRRABKkWQAToOBABCDoQAUg8EAGIPhABw4IQAgToAAIJQh/8B8 CAKmkAEARJMhACSTQQAok2EALJOBADCToQA0k8EAOJPhADx8fRt4fJ8jeHy+K3hL//z5P4AABJB8 AXg9IAAEgSkCsHyJ+BR8fQGUSAAPnT0gAASBKQKUf+kgFH9jAZQ9IAAEgSkCoHyJIBR8YwGUSAAP bX/j+BR/ewGUgVwBeCwKAABBggEIkkEACJJhAAySgQAQkqEAFJLBABiS4QAckwEAIDtAAAA5IAAA PUAAADlKKxSCSgAAgmoABKKKAAg+oAAEPsAABD7gAAQ/AAAEP4AABD8gAAQdKQBSf75KFH5eSS6S fQAEsp0ACICVApB8hPgUfHsBlEgADvGQfQAykJ0ANoCWAox8hPgUfHsBlEgADtmQfQA6kJ0APoCX Arh8hPgUfHsBlEgADsGQfQBCkJ0ARoCYAoh8hPgUfHsBlEgADqmQfQBKkJ0AToE8Amh/6fgUf3sB lDtaAAFXWgY+f0nTeIFZAXh8GlBAQYD/bIJBAAiCYQAMgoEAEIKhABSCwQAYguEAHIMBACBVXAY+ OyAAATtAAAB/W9N4SAAAaEv//bF/aNt4O/8AAVf/Bj58H+gAQIAAQByfAFJ8fiIUOIQAUnyeIhSB IwAygUQAMnwJUEBBgf/MfAlQAECC/8yBIwA2gUQANnwJUEBAgf+8S///sDuc//9XnAY+LAgAAECC ABg3vP//QIEAEH8oy3h/X9N4S///pIABAER8CAOmgyEAJINBACiDYQAsg4EAMIOhADSDwQA4g+EA PDghAEBOgAAgfGsbeHyHI3goBAABQIEAcDhgAAA5IAAASAAAGH0nS3h8aRt4fUM4UCgKAAFAgQBU fSk6FFUk+H5VKf4+HUkAUn1LUhSBCgAygUoANnwIKEBBgf/MfAgoQECCAAx8CjBAQYH/vFSDBj58 CChAQIL/tHwKMEBAgv+sSAAACDhgAAAdIwBSfWtKFIErADJ8CSgAQIIAEIErADZ8CTAATYIAIDhg //9OgAAglCH+gHwIAqaQAQGEkoEBUJKhAVSTQQFok6EBdJPBAXiT4QF8fHobeDhgAAFIAAytPSAA BDkpAjiAaQAAgIkABEgADLFIAA0lPSDQDWEp/u18A0gAQIIAuD+gAAQ7/QI4gH0COICfAAQwhAAI fGMBlEgADIFIAAz1fH4beIB9AjiAnwAEMIQADHxjAZRIAAxlSAAM2Xx0G3iAfQI4gJ8ABDCEACR8 YwGUSAAMSUgADL2BPwAEf95KFH6j8hR8HqhAQIAC6JHhATySAQFAkiEBRJJBAUiSYQFMksEBWJMh AWQ74AAAOyAAADpdAjg+AAAAOhArPD4gAAA6MStQPsAABD3gAAA57ytISAAAOHxkG3g8YAAAOGMr IEgAC/1L//88O94ABDjgAGQ4oAAAf8bzeDhhAGxIAAuZfB6oQECAAlA4YAAAf8TzeEgAC6lIAAwd KAMAAUGC/8woAwADQYIADDveAARL///UOGAAADieAARIAAuBSAAL9XxzG3g4YAAAOJ4ACEgAC21I AAvhO74ADICyAACA0gAEfNQwFHylAZR8xhgUOOAAZHylAZQ4YQAISAALHX4Eg3g4YQAISAAKJSwD AABBggAwfiSLeDhhAAhIAAoRLAMAAEGCAExWaQA6cmoAA0GCAZg73gAQf8nyFEv//0g44ABkOKAA AH+m63g4YQDQSAAKyX3ke3g4YQDQSAAJ0SwDAABAgv+wO+AAAUv//6g5PgAQLBMAAEGCAViS4QFc kwEBYJNhAWyTgQFwfT5LeH5zShRIAAA8gxYBeDvgAAA4YAAAf3fbeDuAAAAsGAAAQIIAvIE2AXh8 GUgAQYIBaDveAAQ74AAAfBPwAEGCAOg4YAAAf8TzeEgACmVIAArZfHsbeDhgAAA4ngAISAAKUUgA CsV8fRt4LB8AAECC/5w4oAAAf2bbeICWAXh/Q9N4S//8lSwD//9Bgv+cHGMAUjiBAGx8ehoUSAAJ OTs5AAFXOQY+S///gIDjAEKBAwBGfUpAFH0pORR8/bgUfRwBlHwJQEBAgQA8O/8AAVf/Bj5/4/t4 fB/AQECA/0wcYwBSfHoaFIEjADKBQwA2fBxIQECC/7h8G1BAQYH/0Ev//6x8CUBAQIIADHwKOEBB gf+8OIEAbEgACL07OQABVzkGPkv//6iC4QFcgwEBYINhAWyDgQFwS//9wH/T6hRL//24fT5LeEv/ /bCB4QE8ggEBQIIhAUSCQQFIgmEBTILBAViDIQFkOGAAAEgACS2AAQGEfAgDpoKBAVCCoQFUg0EB aIOhAXSDwQF4g+EBfDghAYBOgAAggeEBPIIBAUCCIQFEgkEBSIJhAUyCwQFYguEBXIMBAWCDIQFk g2EBbIOBAXBL//+klCH/wHwIAqaQAQBEk6EANJPBADg4YAAASAAIuT0gAAQ5SQJQg6kCUIPKAAR/ qfN5QYIBRJKBABCSoQAUksEAGJLhAByTAQAgkyEAJJNBACiTYQAsk4EAMJPhADw7gAAAPqAABD7A AAQ/AAAEOxgDFD9gAAQ7ewF4PyAAADs5K1Q/QAAAO1opJD7gAARIAAA0f+P7eEv/+2V/4/t4S//1 +YCXAsB8hPAUfH0BlEgACEl8fRt4fJ4jeH+pI3lBggCQgJUCsHyE8BR8fQGUSAAIKYE2Aph8iSAU fGMBlEgACA18fxt4f6PreH/E83hIAALRfHQbeFf/Bj4f/xAEf//CFH/l+3h/o+t4f8TzeEv/9/1/ g+N4O5wAAVecBj5IAAhpmHsABH6Eo3h/I8t4SAAH4UgACA1/Q9N4SAAH1Yk7AAQsCQAAQYL/XEv/ /0iCgQAQgqEAFILBABiC4QAcgwEAIIMhACSDQQAog2EALIOBADCD4QA8gAEARHwIA6aDoQA0g8EA ODghAEBOgAAglCH/8HwIAqaQAQAUPGAABDhjALw4YwBgSAAGhYABABR8CAOmOCEAEE6AACCUIf/w fAgCppABABSTwQAIk+EADHx+G3h8nyN4S//leT0gAASBKQLcOUAAAD0AAASAiAJwfSkgFH1KURQ9 AAAEgIgCnH0pIBR9SgGUfIn4FHxq8RRIAAbpgAEAFHwIA6aDwQAIg+EADDghABBOgAAglCH/8HwI AqaQAQAUPGAABDhjAUxIAAX5gAEAFHwIA6Y4IQAQToAAIJQh/+B8CAKmkAEAJJPBABiT4QAcPGAA ADhjLNhIAAc9S//k3T0gAAQ5SQJQgGkCUICKAAR8aSN5QYIAmJOhABQ/4AAEO/8BgDv///g7wAAA P6AABDveAAGUfwAIkJ8ABIE9AsB8iSAUfGMBlEgABjl8aSN5QYIAZCweAA9Agv/Yg6EAFD/gAAQ7 /wGAV8kYOH0/ShQ5QAAAOWAAAJFJAACRaQAEf8TzeDxgAAA4YyzsSAAGqX/j+3iAAQAkfAgDpoPB ABiD4QAcOCEAIE6AACA7wAAAS///sIOhABRL//+olCH/8HwIAqaQAQAUk8EACJPhAAx8fht4fJ8j eHxlG3h8hiN4PGAAADhjLRBIAAZNS//j7T0gAASAyQKwfIb4FHx+AZRIAAWBPSAABIEpAph8iSAU fGMBlEgABWE74wABf+T7eDxgAAA4Yy0oSAAGDVfjBD6AAQAUfAgDpoPBAAiD4QAMOCEAEE6AACCU If/wfAgCppABABST4QAMPSAABIEpArB8iSAUfGMBlEgABRk9IAAEgMkCfHzGIBQ/4AAEO/8CADjg ACB8owGUf+P7eEgABMU5IAAAmT8AH3/j+3iAAQAUfAgDpoPhAAw4IQAQToAAIJQh//B8CAKmkAEA FJPBAAiT4QAMfH4beHyfI3h8ZRt4fIYjeDxgAAA4Yy1ASAAFWUv/4vl/w/N4f+T7eEv//118fxt4 fGQbeDxgAAA4Yy1YSAAFNX/j+3iAAQAUfAgDpoPBAAiD4QAMOCEAEE6AACCUIf/wfAgCppABABST wQAIk+EADHx+G3h8nyN4fGUbeHyGI3g8YAAAOGMtcEgABOlL/+KJf8n7eUCCACR/w/N4f+T7eIAB ABR8CAOmg8EACIPhAAw4IQAQToAAID0gAASAiQLcOGAAAD0gAASBKQJwfIRIFHxjGRQ9IAAEgSkC nHyESBR8YwGUfIT4FHxj8RRIAAPRfH4beHyfI3h/xfN4fIYjeDxgAAA4Yy2USAAEaX/D83h/5Pt4 SAAEIXx+G3h8nyN4f8XzeHyGI3g8YAAAOGMtuEgABEFL//9klCH/8HwIAqaQAQAUk8EACJPhAAx8 fht4fJ8jeHxlG3h8hiN4PGAAADhjLdxIAAQNS//hrT0gAASAyQKwfIb4FHx+AZRIAANBPSAABIEp Aph8iSAUfGMBlEgAAyF8fxt4fGQbeDxgAAA4Yy34SAADzThgAAB/5Pt4gAEAFHwIA6aDwQAIg+EA DDghABBOgAAglCH/0HwIAqaQAQA0fYAAJpOhACSTwQAok+EALJGBAAx8fxt4fJ4jeHy9K3h8pyt4 fGUbeHyGI3g8YAAAOGMuFEgAA2lL/+EJf+nzeUGCAWAsHwAAQIIAyECCAAwoHgAPQYEAvJMBABCT IQAUk0EAGJNhAByTgQAgPSAABDlJAlCDaQJQg4oABH9p43guCQAAPwAABDsgAAA/QAAEQZIAbIE4 ArB8ieAUfHsBlEgAAkmBOgKYfIkgFHxjAZRIAAItfBn4QECC/9h8A/BAQIL/0H+n63h/Zdt4f4bj eDxgAAA4Yy4USAACxX9/23h/nuN4gwEAEIMhABSDQQAYg2EAHIOBACBIAAAYgwEAEIMhABSDQQAY g2EAHIOBACA9IAAEgIkCrHyE8BR8fwGUSAAByT0gAASBKQKkfIkgFHxjAZRIAAGpOUAAADkAAAEv nQAAOSAAIH0pA6ZIAAAMOUoAAUJAABR9CVAwfSkYOUGC//BBnv/sPSAABIEpAtw4YAAAPUAABIFK AnB9KVAUfGMZFD1AAASAigKcfSkgFHxjAZR8ifAUfGP5FEgAAU08YAAEOGMCIIABADSBgQAMfAgD poOhACSDwQAog+EALH2AgSA4IQAwToAAIIlDAAAsCgAAQYIAIIkkAAB8CVAAQIIAFDiEAAGNQwAB LAoAAECC/+iIZAAAfGNQUE6AACA4hP//OUP//40kAAGdKgABLAkAAECC//ROgAAgOEABAXyCEAhO gAAgOEABGnyCEAhOgAAgOEABJ3yCEAhOgAAgOEABL3yCEAhOgAAgOEABO3yCEAhOgAAgOEABP3yC EAhOgAAgOEABQ3yCEAhOgAAgOEABRXyCEAhOgAAgOEABR3yCEAhOgAAgOEABTXyCEAhOgAAgOEAC BHyCEAhOgAAgOEACBnyCEAhOgAAgOEACCnyCEAhOgAAgOEADE3yCEAhOgAAgOEADIXyCEAhOgAAg OEADUXyCEAhOgAAgOEADU3yCEAhOgAAgOEADVHyCEAhOgAAgOEADY3yCEAhOgAAgOEAEAHyCEAhO gAAgOEAENnyCEAhOgAAgOEAEN3yCEAhOgAAgOEAEUnyCEAhOgAAgOEAEU3yCEAhOgAAgOEAFFHyC EAhOgAAgOEAFGHyCEAhOgAAgOEAGAXyCEAhOgAAgOEAGCHyCEAhOgAAgOEAHBHyCEAhOgAAgOEAH BXyCEAhOgAAgOEAHBnyCEAhOgAAgOEAHFHyCEAhOgAAgOEAKAXyCEAhOgAAgOEAKFHyCEAhOgAAg OEAKMXyCEAhOgAAgvgIDBAAAAAUAQFZFUlNJT04tSU5GT0AAMTAxOTQAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAACfSAAAH6AAAAAYAAAANAAAAAAAAAAAAAAAAaHR0cHM6Ly9zdm4uaW50ZXJu LmxhdXRlcmJhY2guY29tL3N2bi9rZXJuZWxzcmMvYnJhbmNoZXMvbmlnaHRseQAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABodHRw czovL3N2bi5pbnRlcm4ubGF1dGVyYmFjaC5jb20vc3ZuL2tlcm5lbHNyYwAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAGJhdW1laXN0ZXIAAAAAAABlZGstbGludXg2NGJpdC03AAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAR0NDIDkuNS4wAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfoAAAABgAA AA0AAABOAAAn0gAAB+gAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAATo3SmFpbGhvdXNlAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA IAAAAHJvb3RfY2VsbAAAAG51bV9jZWxscwAAAF9fcGFnZV9wb29sAHN0cnVjdCBjZWxsAC5jb21t X3BhZ2UAAC5hcmNoAAAALmNvbmZpZwAuY3B1X3NldAAAAAAubmV4dAAAAHN0cnVjdCBqYWlsaG91 c2VfY29tbV9yZWdpb24AAAAALmNlbGxfc3RhdGUAc3RydWN0IGFyY2hfY2VsbAAAAAAubW0Ac3Ry dWN0IHBhZ2luZ19zdHJ1Y3R1cmVzAAAAAC5yb290X3RhYmxlAHN0cnVjdCBqYWlsaG91c2VfY2Vs bF9kZXNjAAAubmFtZQAAAC5pZAAubnVtX21lbW9yeV9yZWdpb25zAC5udW1fY2FjaGVfcmVnaW9u cwAALmlycV9jaGlwcwAALnBpb19iaXRtYXBfc2l6ZQAAAAAucGNpX2RldmljZXMAAAAALm51bV9w Y2lfY2FwcwAAAC52cGNpX2lycV9iYXNlAAAuY3B1X3Jlc2V0X2FkZHJlc3MAAC5tc2dfcmVwbHlf dGltZW91dAAAc3RydWN0IGphaWxob3VzZV9zeXN0ZW0ALmNwdV9zZXRfc2l6ZQAAAHN0cnVjdCBq YWlsaG91c2VfbWVtb3J5AC5waHlzX3N0YXJ0AC52aXJ0X3N0YXJ0AC5zaXplAAAALmZsYWdzAABz dHJ1Y3QgY3B1X3NldAAALmJpdG1hcABzdHJ1Y3QgcGVyX2NwdQAALmxpbnV4X3NwAAAALmxpbnV4 X3JldAAALmxpbnV4X2ZsYWdzAAAAAC5saW51eF9yZWcAAGdldEN1cnJlbnRHdWVzdElkKCkAZ2V0 Q3VycmVudEd1ZXN0SWQoKSA9ICVkLgAAAGdldEN1cnJlbnRWY3B1SWQoKQAAZ2V0Q3VycmVudFZj cHVJZCgpID0gJWQuAAAAAGdldEN1cnJlbnRWY3B1SWQoKSA9IGRlZmF1bHQgMC4ARVhULkNFTEwg JXgARVhULkNFTEwAAAAAJWQuAChyb290KQAAcnVubmluZwBydW5uaW5nL2xvY2tlZAAAc2h1dCBk b3duAAAAZmFpbGVkAABpbnZhbGlkICglZC4pAAAAJWQuIAAAAAAKAAAAUm9vdCBjZWxsIG5vdCBm b3VuZCEgSHlwZXJ2aXNvciBzeW1ib2xzIGxvYWRlZD8KAAAAAG1hZ2ljICAgICAgICAgICAgAAAA aWQgIAAAAABtaWQgAAAAAG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAAAAAAc3RhdGUgICAg AAAAY3B1cyAAAAB2dHRiICAgICAgICAgICAgIAAAAF9KQUlMSE9VU0VfX0VYVF9DRUxMAAAAAGlu dmFsaWQhAAAAAEphaWxob3VzZSBBd2FyZW5lc3MgZm9yICVzIFZlcnNpb24gJTJkLiUyZC4lNGQg KEJ1aWxkICVzKQoAAG51bSBjZWxscyAgICAgICAlMTZ4ICAAACUzZC4gICAgICAgICAgICAgIAAA cm9vdCBjZWxsICAgICAgICUxNnggIAAAVEVTVAAAAABhcmd1bWVudCAgICAgICAgICAgIHZhbHVl ICAgICAgICAgICAgIGNvbnRlbnQgICAgICAgICAgIHN5bWJvbAAAPG9wdGlvbj4AAAAAPGFkZHJl c3M+AAAAT3B0aW9uOiBEVEIARFRCIGFkZHJlc3Mgc2V0AE9QVElPTgAATwAAAE9wdGlvbgAAICVz ACAweCUxNngAJXMAACB8JXMAAAAATk9UIEZPVU5EAAAAV3JvbmcgbWFnaWMgbnVtYmVyIDB4JTE2 eAAAAGRldmljZV90eXBlAG1lbW9yeQAAcmVnACVzIDoAAAAAQ2VsbCBuYW1lICAgICAgICAgICAg ICAgICAgICAgICAgICAATWVtb3J5IE5hbWUgICAgICAgICAgICAgICAgICAgICAgICAAUGh5c2lj YWwgc3RhcnQgICAgICAgIAAAVmlydHVhbCBzdGFydCAgICAgICAgIAAAU2l6ZSAgICAgICAgICAg ICAgICAgIAAARmxhZ3MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAAAABNRU1WSUVXACBSRUFEAAAAIFdSSVRFAAAgRVhFQ1VURQAAAAAgRE1BAAAAACBNRU1f SU8AIENPTU1fUkVHSU9OAAAAACBMT0FEQUJMRQAAACBST09UU0hBUkVEACBJT19VTkFMSUdORUQA AAAgSU9fOAAAACBJT18xNgAAIElPXzMyAAAgSU9fNjQAAEVYVC5DRUxMLlZUVEIAAABfX1JUT1Nf SkFJTEhPVVNFX19GVU5DAABnZXRNYWNoaW5lTGlzdCgpAAAAAGdldE1hY2hpbmVMaXN0KCkgOiAg bnVtZ3Vlc3RzPSVkLgAAAGdldE1hY2hpbmVJZCgpOiAlMTZ4AAAAAGdldE1hY2hpbmVJZCgpID0g JWQuAAAAAGdldE1hY2hpbmVOYW1lKCk6ICUxNngAAGdldE1hY2hpbmVOYW1lKCkgPSAlcwAAAGdl dE1hY2hpbmVWdHRiKCk6IG1hZ2ljICAgID0lMTZ4AAAAAGdldE1hY2hpbmVWdHRiKCkgdnR0Yih2 aXJ0KT0lMTZ4AAAAAGdldE1hY2hpbmVWdHRiKCkgdnR0YihwaHlzKT0lMTZ4AAAAAGdldE1hY2hp bmVUcmFjZUlkKCk6ICUxNngAAABnZXRNYWNoaW5lVHJhY2VJZCgpID0gJWQuAAAAZ2V0VmNwdUNv bnRleHQ6IG1hZ2ljPSUxNngsIHZjcHVpZD0lZAAAAEphaWxob3VzZQAAAEFSTTY0AERBVEEAAAAD A1wAAAAEADQAAAxEAAAAAwpcAAAABAA0AAALVAAAKMwAACjMAAAozAAAKcgAAAbEAAApXAAAKXAA ACl4AAApgAAAKaAAACmsAAAptAAAAAAAAAABAFAAAAAAKnQAAAzsAAAqbAAAKmwAAClYAAApWAAA DIAAACrUAAAAAQAAAAAAAAAAAAAAAgAAAAAAACrYAAAAAAAAAAIAAAAAAAAqzAAAAAAAACroAAAq 8AAAKvQAAClYAAAOdAAAAAMAUAAAAAQBMAAAGXQAACwsAAAsNAAALDwAACxIAAAsUAAALFgAACxo AAAsdAAALIAAAClYAAApWAAAKVgAAClYAAApWAAAKVgAAClYAAAskAAALJgAACygAAAsqAAALCQA ACwkAAApWAAAKVgAAA90AAArXAAAK4AAACukAAArvAAAK9QAACvsAAAAAAAALLAAAAADAAAAAwAA AAAAACzAAAAbLAAAKVgAAC48AAAuSAAAAABUMzJF ) RETURN ) menu_64bit: ;(header, infix) ( PMACRO.LOCK ( PRIVATE &sHeader &sInfix &sMenuName PARAMETERS &sHeader &sInfix &sMenuName=TASK.TRANSPOSE.INFIX("&sHeader") IF MENU.EXIST("TASK.&(sMenuName)") MENU.Delete.NAME TASK.&(sMenuName) IF MENU.EXIST("EXT.&(sMenuName)") MENU.Delete.NAME EXT.&(sMenuName) MENU.ReProgram (&+ ; -------------------------------------------------------------------------------- ; @Title: Jailhouse Hypervisor specific menu ; @Description: - ; @Keywords: jailhouse menu awareness ; @Author: DIE ; @Copyright: (c) 1989-2021 Lauterbach GmbH, licensed for use with TRACE32(R) only ; -------------------------------------------------------------------------------- ; $Id: jailhouse.m 7861 2022-07-29 13:45:42Z amerkle $ NAME "TASK.&sMenuName" IF !MENU.EXIST("TASK.&sMenuName") ( add menu ( popup "&sHeader" ( default menuitem "Display &Cells" "EXTension.&(sInfix)CELL" ;SEPARATOR ;POPUP "[:symbols]Symbol &Autoloader" ;( ; MENUITEM "[:symbols]List Components" "sYmbol.AutoLoad.List" ; MENUITEM "[:init]Check Now!" "sYmbol.AutoLoad.CHECK" ; MENUITEM "[:config]Config" "sYmbol.AutoLOAD.config" ;) SEPARATOR MENUITEM "Display Task Tree" "TASK.List.TREE" MENUITEM "Display Core Activity" "CORE.List" SEPARATOR MENUITEM "Display Memory" "EXTension.&(sInfix)MEMVIEW" ) ;popup "&Help" ;( ; MENUITEM "[:manual]Hypervisor Awareness Manual Jailhouse Hypervisor" "HELP __RTOS_jailhouse_" ;) ) menu "ext.&(sInfix)cell" ( default menuitem "Display detailed" ( PRIVATE &nMagic &nMagic=address.offset(track.address()) EXTension.&(sInfix)CELL &nMagic ) menuitem "Display cell struct" ( PRIVATE &nAddress &nAddress=address.offset(track.address()) Var.View %Open %String (struct cell*)(H:&nAddress) ) menuitem "List intermediate page table" ( PRIVATE &nMagic &nVttb &nMagic=address.offset(track.address()) &nVttb=ext.cell.vttb(&nMagic) IF system.option.machinespaces() MMU.List IntermedPageTable /machine &nMagic ELSE MMU.List IntermedPageTable 0 mmu.physical(H:&nVttb) ) menuitem "Dump cell entry" ( PRIVATE &nAddress &nAddress=address.offset(track.address()) Data.dump H:&nAddress /Long /dialog ) ) ) ) ) PMACRO.UNLOCK RETURN ) autoload_64bit: ;(options) ( PARAMETERS &sOptions RETURN ) menu_delete: ;(header) ( PRIVATE &sHeader &sMenuName PARAMETERS &sHeader &sMenuName=TASK.TRANSPOSE.INFIX("&sHeader") IF MENU.EXIST("TASK.&(sMenuName)") MENU.Delete.NAME TASK.&(sMenuName) IF MENU.EXIST("EXT.&(sMenuName)") MENU.Delete.NAME EXT.&(sMenuName) RETURN ) autoload_delete: ;(options) ( PARAMETERS &sOptionMachine RETURN )